[Python-es] [Consulta] Leer csv

Lemarchand Barker lemarchand8679 en gmail.com
Dom Jul 19 15:22:23 EDT 2020


Buenas, estoy leyendo un csv, al principio no me leía, hasta que logré que
lo haga, pero el problema viene cuando lee. Me muestra el resultado y al
final me da un mensaje de error.

El código es el siguiente:

import csv

# with open('SYB62_1_201907_Population_Surface_Area_and_Density.csv',
newline='') as File:
with open('population.csv', 'rt') as File:
    reader = csv.reader(File)
    for row in reader:
        print(row)

La salida es la siguiente:

['188', 'Costa Rica', '2005', 'Population mid-year estimates for females
(millions)', '2.1369', '', 'United Nations Population Division, New York,
World Population Prospects: The 2019 Revision, last accessed June 2019.']
['188', 'Costa Rica', '2005', 'Sex ratio (males per 100 females)',
'100.5460', '', 'United Nations Population Division, New York, World
Population Prospects: The 2019 Revision; supplemented by data from the
United Nations Statistics Division, New York, Demographic Yearbook 2015 and
Secretariat for the Pacific Community (SPC) for small countries or areas,
last accessed June 2019.']
Traceback (most recent call last):
  File "/home/raiden/Programacion/curso/ejercicios/testcsv.py", line 6, in
<module>
    for row in reader:
  File "/usr/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf4 in position 6529:
invalid continuation byte

Solo copié un fragmento de toda la salida; lo que se ve antes del
Traceback; porque es bastante extenso el texto. Otra cosa que hice fue
cambiarle el nombre, porque era muy extenso el original.

Al abrir el archivo con la planilla de cálculo la línea 6529, es la
siguiente:
760 Syrian Arab Republic 2010 Population aged 0 to 14 years old (percentage)
37.3903

El contenido del csv se puede ver en este link (formato pdf): pdf
<http://data.un.org/_Docs/SYB/PDFs/SYB62_1_201907_Population,%20Surface%20Area%20and%20Density.pdf>
El original se encuentra acá: http://data.un.org/
El csv es desde la izquierda, la primer columna, donde dice:
- Population, surface area and density
- PDF <http://data.un.org/_Docs/SYB/PDFs/SYB62_1_201907_Population, Surface
Area and Density.pdf> | CSV
<http://data.un.org/_Docs/SYB/CSV/SYB62_1_201907_Population, Surface Area
and Density.csv>   Updated: 23-Jul-2019
Perdón la ignorancia pero no se que puede ser lo que me esté generando esa
salida de Unicode.
Saludos, gracias
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200719/7838fc98/attachment.html>


Más información sobre la lista de distribución Python-es