De lujo Darío y Sebastián, gracias
El dom., 19 jul. 2020 a las 17:37, Sebastián Arancibia (<cibers...@gmail.com>) escribió: > > Y pandas te abre un mundo de cosas... el inicio para ir aprendiendo data > science. > > Saludos. > > On Sun, Jul 19, 2020 at 4:23 PM Darío vía Python-es <python-es@python.org> > wrote: >> >> >> Ahora me quedó más claro, que tengo que usar pandas, en el mail anterior no >> lo había entendido. Gracias >> >> >> Sí perdón la desprolijidad! mejor aún es la documentación del paquete, la >> oficial está en inglés y son miles de páginas, esta página me ayudó mucho >> con pandas y otras librerías y python per sé: >> https://riptutorial.com/es/topic?q=pandas&submit=Search >> >> >> >> >> Enviado desde mi smartphone Samsung Galaxy. >> >> >> -------- Mensaje original -------- >> De: Darío vía Python-es <python-es@python.org> >> Fecha: 19/7/20 17:10 (GMT-03:00) >> A: La lista de python en castellano <python-es@python.org> >> CC: Darío <dario...@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 ... 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 >> >> >> _______________________________________________ >> 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 _______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es