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