Usando el archivo original éstas son las salidas: >>> import pandas as pd
>>> leer = pd.read_csv('/home/darioslc/Descargas/demo.csv') >>> leer T02 Region/Contry/Area ... Value 0 1 ... 6541.9070 1 1 ... 3296.4853 2 1 ... 3245.4217 3 1 ... 101.5734 4 1 ... 28.1425 5 1 ... 10.2516 [6 rows x 5 columns] >>> leer.columns # muestra todas las columnas Index(['T02 Region/Contry/Area', ' Population density and surface area', ' Year', ' Series', ' Value'], dtype='object') >>> leer.columns[0] 'T02 Region/Contry/Area' >>> leer[leer.columns[2]] 0 2005 1 2005 2 2005 3 2005 4 2005 5 2005 Name: Year, dtype: int64 >>> leer[:] # muestra todo T02 Region/Contry/Area ... Value 0 1 ... 6541.9070 1 1 ... 3296.4853 2 1 ... 3245.4217 3 1 ... 101.5734 4 1 ... 28.1425 5 1 ... 10.2516 [6 rows x 5 columns] >>> leer[0:3] # muestra de la columna 0 a la 3 T02 Region/Contry/Area ... Value 0 1 ... 6541.9070 1 1 ... 3296.4853 2 1 ... 3245.4217 [3 rows x 5 columns] >>> # renombro la primer columna >>> leer2 = leer.rename(columns = {leer.columns[0]:'regione'}) >>> leer2 regione ... Value 0 1 ... 6541.9070 1 1 ... 3296.4853 2 1 ... 3245.4217 3 1 ... 101.5734 4 1 ... 28.1425 5 1 ... 10.2516 [6 rows x 5 columns] No muestra todos los datos porque los nombres de columna son excesivamente largos, se puede renombrar con el comando anterior separando por comas lo renombrado (primero va el nombre viejo y después de los : el nuevo) Luego de abierto lo que podés hacer con pandas es realmente todo!!! desde calcular valores medios, máximos, mínimos, interpolar, graficar, etc........ - Sent with ProtonMail Secure Email. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Sunday, 19 de July de 2020 16:49, Lemarchand Barker <lemarchand8...@gmail.com> wrote: > Estoy probando copiar un poco de la data del csv, lo pasé a un editor > y el código funcionó perfecto. No se si el archivo original tendrá > algún inconveniente, mi código o funciona porque copié una parte de la > info y no todo el resto. > Adjunto el archivito que hice, el código no lo toqué, lo único que > hice fue comentar la línea del with para colocar el nombre nuevo, y > quedó así: > > with open('demo.csv', 'rt') as File: > > Y la salida es la siguiente: > ['T02 Region/Contry/Area', ' Population density and surface area', ' > Year', ' Series', ' Value'] > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year > estimates (millions)', ' 6541.9070'] > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year > estimates for males (millions)', ' 3296.4853'] > ['1', ' Total all countries or areas', ' 2005', ' Population mid-year > estimates for females (millions)', ' 3245.4217'] > ['1', ' Total all countries or areas', ' 2005', ' Sex ratio (males per > 100 females)', ' 101.5734'] > ['1', ' Total all countries or areas', ' 2005', ' Population aged 0 to > 14 years old (porcentage)', ' 28.1425'] > ['1', ' Total all countries or areas', ' 2005', ' Population aged 60+ > years old (porcentage)', ' 10.2516'] > [] > Justo mando esto cuando Darío me respondió. Saludos > > El dom., 19 jul. 2020 a las 16:22, Lemarchand Barker > (lemarchand8...@gmail.com) escribió: > > > 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 > > 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 | 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 _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es