Hola:

Ese archivo no es "utf-8 encoded".


Para abrirlo con pandas usa algo como esto:

pd.read_csv('SYB62_1_201907_Population_Surface_Area_and_Density.csv',
                            sep=',',
                            encoding="latin-1")

con csv


with open('SYB62_1_201907_Population_Surface_Area_and_Density.csv', 
encoding="latin-1",) as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)


Saludos


El Sun, 19 Jul 2020 16:22:23 -0300
Lemarchand Barker <lemarchand8...@gmail.com> dijo:

> 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
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a