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@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 ... 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
<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
listPython-es@python.orghttps://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es