[Python-es] [Consulta] Leer csv

lemarchand8679 lemarchand8679 en gmail.com
Dom Jul 19 16:14:52 EDT 2020


Ahora me quedó más claro, que tengo que usar pandas, en el mail anterior no lo había entendido. GraciasEnviado desde mi smartphone Samsung Galaxy.
-------- Mensaje original --------De: Darío vía Python-es <python-es en python.org> Fecha: 19/7/20  17:10  (GMT-03:00) A: La lista de python en castellano <python-es en python.org> CC: Darío <darioslc en protonmail.com> Asunto: Re: [Python-es] [Consulta] Leer csv 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    ...          Value0                       1    ...      6541.90701                       1    ...      3296.48532                       1    ...      3245.42173                       1    ...       101.57344                       1    ...        28.14255                       1    ...        10.2516[6 rows x 5 columns]>>> leer.columns # muestra todas las columnasIndex(['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    20051    20052    20053    20054    20055    2005Name:  Year, dtype: int64>>> leer[:] # muestra todo   T02 Region/Contry/Area    ...          Value0                       1    ...      6541.90701                       1    ...      3296.48532                       1    ...      3245.42173                       1    ...       101.57344                       1    ...        28.14255                       1    ...        10.2516[6 rows x 5 columns]>>> leer[0:3] # muestra de la columna 0 a la 3   T02 Region/Contry/Area    ...          Value0                       1    ...      6541.90701                       1    ...      3296.48532                       1    ...      3245.4217[3 rows x 5 columns]>>> # renombro la primer columna>>> leer2 = leer.rename(columns = {leer.columns[0]:'regione'})>>> leer2   regione    ...          Value0        1    ...      6541.90701        1    ...      3296.48532        1    ...      3245.42173        1    ...       101.57344        1    ...        28.14255        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 <lemarchand8679 en 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> (lemarchand8679 en 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 en python.org> https://mail.python.org/mailman/listinfo/python-es_______________________________________________Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200719/1997a7b6/attachment.html>


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