> 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