[Python-es] [Consulta] Recorrer DataFrame

2020-09-21 Por tema Lemarchand Barker
Buenas tanto tiempo! Les quiero hacer una consulta, sigo con mi
archivo .csv. Les comparto mi código:

import pandas as pd

leer = pd.read_csv('gavade.csv')

diccionario = {
"A": ['AbbotT Diabetes', 'Abbott EPD', 'Alcon', 'Allergan-Loa', 'Amgen',
  'Andrómaco', 'Ariston', 'Aspen Argentina', 'AstraZeneca', 'Atlas',
  'Austral'],
"B": ['BD', 'Bagó', 'Baliarda', 'Bayer (PH)', 'Bayer Consumer', 'Beta',
  'Betterlife SRL', 'Biol', 'Biopas Argentina', 'Bioprofarma Bagó',
  'Biosidus Farma', 'Biosintex', 'Biosintex Retail', 'Biotechno Pharma',
  'Biotenk', 'Boehringer Ingel'],
"C": ['Casasco', 'Cetus', 'Craveri'],
"D": ['Dallas', 'Denver Farma', 'Domínguez', 'Duncan'],
"E": ['Eczane', 'Elea - Phoenix', 'Eli Lilly', 'Eurolab'],
"F": ['Fabra', 'Fada Pharma', 'Fecofar', 'Ferring', 'Finadiet',
'Fortbenton',
 'Francelab'],
"G": ['GP Pharm', 'Gador', 'Galderma', 'Gemabiotech', 'Genomma Lab',
  'GlaxoSmithKline', 'Gobbi', 'Géminis Farmacéutica'],
"H": ['HLB Pharma'],
"I": ['Investi'],
"J": ['Janssen-Cilag', 'Johnson & Johnso'],
"K": ['Klonal'],
"L": ['LKM', 'LKM Onco/Especia', 'Lab Internaciona', 'Laboratorios Ber',
  'Lafedar', 'Lazar', 'Lepetit', 'Lersan', 'Lundbeck'],
"M": ['MSD Argentina SR', 'Mar', 'Max Vision', 'Merck Serono',
  'Microsules Arg.', 'Monserrat', 'Montpellier'],
"N": ['Northia', 'Nova Argentia', 'Novartis', 'Novartis - Sando',
  'Novo Nordisk', 'Novoplos'],
"O": ['Omega'],
"P": ['Panalab', 'Pfizer', 'PharmaDorf', 'Pharmanove', 'Pharmatrix',
  'Pierre Fabre Med', 'Poen'],
"Q": ['Química Luar'],
"R": ['Raffo', 'Raymos', 'Richet', 'Richmond', 'Roche Diabetes', 'Roemmers',
  'Ronnet', 'Rontag', 'Rospaw', 'Rossmore Pharma'],
"S": ['Sanitas', 'Sanofi Pasteur', 'Sanofi-Aventis', 'Sanofi-Aventis O',
  'Savant Consumer', 'Savant Pharma', 'Savant Vitarum', 'Servier',
  'Sidus', 'Sidus - Lifescan', 'Soubeiran Chobet', 'Spedrog Caillon',
  'Szama'],
"T": ['Takeda', 'Techsphere', 'Temis-Lostaló', 'Teva argentina',
  'Trb-Pharma'],
"V": ['Valmax', 'Vannier', 'Vannier - Grunen'],
"W": ['Wunder Pharm']
}
df = pd.DataFrame.from_dict(diccionario, orient='index')
# print(df)
for indice_fila, fila in df.iterrows():
print(indice_fila)
print(fila)

La salida es la siguiente:
A
0 AbbotT Diabetes
1  Abbott EPD
2   Alcon
3Allergan-Loa
4   Amgen
5   Andrómaco
6 Ariston
7 Aspen Argentina
8 AstraZeneca
9   Atlas
10Austral
11   None
12   None
13   None
14   None
15   None
Name: A, dtype: object
B
0   BD
1 Bagó
2 Baliarda
3   Bayer (PH)
4   Bayer Consumer
5 Beta
6   Betterlife SRL
7 Biol
8 Biopas Argentina
9 Bioprofarma Bagó
10  Biosidus Farma
11   Biosintex
12Biosintex Retail
13Biotechno Pharma
14 Biotenk
15Boehringer Ingel
Name: B, dtype: object

Les comparto solo un fragmento ya que es bastante extensa la salida,
pero mi pregunta es la siguiente, por qué en la letra A, completa los
espacios con None y no corta en Austral que es el último? En otras
letras pasa lo mismo, para completar pone None, hay alguna forma de
evitar eso?. Perdón por lo estúpido de la pregunta, desde ya muchas
gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] isin()

2020-08-05 Por tema Lemarchand Barker
Buenísimo Ricardo, gracias ya lo anoto.
Si lo de numpy y el array algo de eso vi muy por arriba, por ahora quiero
familiarizarme con algunas cosas de momento.
Gracias, saludos

El mié., 5 ago. 2020 a las 17:23, Ricardo Cárdenes (<
ricardo.carde...@gmail.com>) escribió:

> Por cierto, añado: observa que limité los criterios a columnas concretas.
> Eso tiene perfecto sentido aquí porque cada columna tiene una semántica
> diferente. Sin embargo, nada te impide aplicar isin a un DataFrame
> entero. El problema es que el resultado puede no tener mucho sentido (o sí,
> depende):
>
> >>> mask = df2.isin(['382.24', '617.12'])
> >>> mask
>  lab   pami
> 19 False  False
> 629False   True
> 23549  False  False
> 30087  False   True
>
>
> Obviamente, todas las entradas de la columna "lab" salen falsos. ¿Qué
> sucede si usas esto como máscara?
>
> >>> df2[mask]
>labpami
> 19 NaN NaN
> 629NaN  382.24
> 23549  NaN NaN
> 30087  NaN  617.12
>
>
> Dado que no puedes discriminar filas enteras, la máscara no sabe lo que
> estás queriendo hacer. Y por tanto va a mostrarte *todo*, pero poniendo
> valores NaN ("not a number") en las celdas falsas.
>
> Por cierto, que la máscara no tiene por qué ser un DataSet. Puede ser por
> ejemplo una simple lista, que se aplica al primer eje (filas, en este caso):
>
> >>> df2[[False, True, False, True]]
>  labpami
> 629Alcon  382.24
> 30087  Fabra  617.12
>
>
> Y dado que Pandas se apoya en NumPy, imagino que puedes pasar un array de
> NumPy también.
>
>
> On Wed, Aug 5, 2020 at 10:12 AM Ricardo Cárdenes <
> ricardo.carde...@gmail.com> wrote:
>
>> Aparte de lo que te está contestando Darío (error en la entrada: 627.12
>> en lugar de 617.12), a tu otra pregunta...
>>
>> - Acá paso también 2 valores: 1 y 3, no entiendo porque me muestra
>>> valores booleanos, en realidad no se que estaría chequeando
>>
>>
>> isin te devuelve *siempre* un DataFrame de booleanos, siendo True las
>> celdas donde hay coincidencia con alguno de los valores que pasaste a
>> isin. Así pues, ninguna sorpresa. Ese dataframe de booleanos lo puedes
>> utilizar como una *máscara* para filtrar los valores de otro DataFrame.
>> Eso es lo que haces en tu ejemplo anterior:
>>
>> *print(df2[df2['pami'].isin(['382.24', '627.12'])])*
>>
>>
>>  Observa que estás usando df2['pami'].isin(['382.24', '627.12']) como
>> índice del propio df2. En este caso, tu máscara está discriminando
>> algunas filas: el resultado de df2[mascara] será un nuevo DataFrame que
>> mostrará (normalmente esto se hace con una clase proxy que actúa como
>> "vista") sólo esas filas.
>>
>> En tu segundo ejemplo no estás aplicando la máscara: la estás imprimiendo
>> directamente y por tanto sólo ves los booleanos.
>>
>> Curiosidad: las máscaras se pueden combinar usando operaciones booleanas
>> normales. Por ejemplo, combinando criterios sobre diferentes columnas:
>>
>> >>> l = df2['lab'].isin(['Alcon'])
>> >>> p = df2['pami'].isin(['382.24', '617.12'])
>> >>> l
>> 19   False
>> 629  False
>> 23549 True
>> 30087False
>> Name: lab, dtype: bool
>> >>> p
>> 19   False
>> 629   True
>> 23549False
>> 30087 True
>> Name: pami, dtype: bool
>> >>> l & p# AND lógico -> todas False porque no coincide nada
>> 19   False
>> 629  False
>> 23549False
>> 30087False
>> dtype: bool
>> >>> l | p# OR lógico -> combina las filas True de ambas
>> 19   False
>> 629   True
>> 23549 True
>> 30087 True
>> dtype: bool
>> >>> df2[l | p]# DataFrame con las filas que cumplen AL MENOS uno de
>> los dos criterios
>>   labpami
>> 629 Alcon  382.24
>> 23549  Duncan  245.44
>> 30087   Fabra  617.12
>> >>> df2[l & p]# DataFrame con las filas que cumplen AMBOS criterios
>> (está vacío, claro)
>> Empty DataFrame
>> Columns: [lab, pami]
>> Index: []
>>
>>
>> Saludos,
>> Ricardo
>>
>> On Wed, Aug 5, 2020 at 9:06 AM Lemarchand Barker <
>> lemarchand8...@gmail.com> wrote:
>>
>>> Hola siguiendo con la lectura de pandas, estoy probando isin() y no me
>>> queda muy en claro bien que función cumple y qué tipo de uso le podría dar.
>>> Mi ejemplo es el siguiente:
>>>
>>> l

[Python-es] [Consulta] isin()

2020-08-05 Por tema Lemarchand Barker
Hola siguiendo con la lectura de pandas, estoy probando isin() y no me
queda muy en claro bien que función cumple y qué tipo de uso le podría dar.
Mi ejemplo es el siguiente:

leer = pd.read_csv('democsv.csv')
df = pd.DataFrame({
'lab': ['Abbott Diabetes', 'Alcon', 'Duncan', 'Fabra'],
'pami': ['490.13', '382.24', '245.44', '617.12'],},
index=['19', '629', '23549', '30087'])
df2 = df.copy()

df2['pami'] = ['490.13', '382.24', '245.44', '617.12']
*print(df2['pami'])*

Salida:
19   490.13
629  382.24
23549245.44
30087617.12
Name: pami, dtype: object


*print(df2[df2['pami'].isin(['382.24', '627.12'])])*

- En esta salida tengo un inconveniente, paso 2 valores: 382.24 y 627.12 y
solo muestra 1, qué estoy haciendo mal?

Salida:
   labpami
629  Alcon  382.24


*print(df2.isin({'pami': [1, 3]}))*

- Acá paso también 2 valores: 1 y 3, no entiendo porque me muestra valores
booleanos, en realidad no se que estaría chequeando

Salida:
  lab   pami
19False  False
629  False  False
23549  False  False
30087  False  False

Muchas gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] describe()

2020-08-04 Por tema Lemarchand Barker
Perfecto, muchas gracias

El mar., 4 ago. 2020 a las 17:48, Darío vía Python-es ()
escribió:

> Son valores estadísticos de la muestra, indica los pirncipales (la media,
> máximo, mínimo, desvío estándar, etc.). Es útil si necesitás un pantallazo
> de la muestra, una especie de resumen estadístico.
> Pero para manejarlos en el conjunto de datos es mejor usar las funciones
> por separado, y hacer ciclos, operaciones y demás cosas.
>
> -
>
> Sent with ProtonMail <https://protonmail.com> Secure Email.
>
> ‐‐‐ Original Message ‐‐‐
> On Tuesday, 4 de August de 2020 17:06, Lemarchand Barker <
> lemarchand8...@gmail.com> wrote:
>
> Hola, estoy leyendo sobre pandas y no me queda muy en claro qué función
> cumple describe().
>
> Tengo la siguiente línea:
>
> import pandas as pd
> leer = pd.read_csv('democsv.csv')
> print(leer.describe())
>
> Y la salida es la siguiente:
>
> /usr/bin/python3.8 /home/raiden/Programacion/curso/ejercicios/testcsv.py
>ALFABETA  PVP_PAMI   COBERTURA  IMPORTE_AFILIADO
> count 39.00 39.00   39.00 39.00
> mean   20989.615385   1661.154103   57.179487781.984615
> std18690.580373   3736.403181   15.719368   1884.191785
> min   19.00 20.16   50.00  0.00
> 25%  989.50362.245000   50.00115.04
> 50%23543.00580.65   50.00228.75
> 75%30090.00   1075.375000   55.00537.69
> max56081.00  19721.76  100.00   9860.88
>
> Por lo que leí genera estadísticas descriptivas?
> Complemento el libro con este link:
>
> https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html
> Por ejemplo en qué caso haría uso de describe y con qué propósito?
> Muchas gracias, saludos
>
>
> ___
> 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] [Consulta] describe()

2020-08-04 Por tema Lemarchand Barker
Hola, estoy leyendo sobre pandas y no me queda muy en claro qué función
cumple describe().

Tengo la siguiente línea:

import pandas as pd
leer = pd.read_csv('democsv.csv')
print(leer.describe())

Y la salida es la siguiente:

/usr/bin/python3.8 /home/raiden/Programacion/curso/ejercicios/testcsv.py
   ALFABETA  PVP_PAMI   COBERTURA  IMPORTE_AFILIADO
count 39.00 39.00   39.00 39.00
mean   20989.615385   1661.154103   57.179487781.984615
std18690.580373   3736.403181   15.719368   1884.191785
min   19.00 20.16   50.00  0.00
25%  989.50362.245000   50.00115.04
50%23543.00580.65   50.00228.75
75%30090.00   1075.375000   55.00537.69
max56081.00  19721.76  100.00   9860.88

Por lo que leí genera estadísticas descriptivas?
Complemento el libro con este link:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html
Por ejemplo en qué caso haría uso de describe y con qué propósito?
Muchas gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] lista .index()

2020-08-04 Por tema Lemarchand Barker
Hola, estoy practicando asi que estoy haciendo unos ejemplos con head() y
otras cosas simples hasta que me anime a hacer cosas un poquito más
"complejas".
Muchas gracias, saludos

El mar., 4 ago. 2020 a las 12:56, David Suárez vía Python-es (<
python-es@python.org>) escribió:

> Hola,
>
> ya pude abrir, aunque con trabajos el archivo. Creo que podría servirte el
> siguiente código:
>
> >> import pandas as pd
> >> leer = pd.read_csv('gavade.csv')
> >> leer[leer.LABORATORIO == "Alcon"]
>
> Creo que con eso ya tienes suficiente para replicar el funcionamiento de
> tu código original. Como ves, las estructuras de Pandas funcionan en parte
> como una base de datos relacional, así que probablemente ya no necesitarás
> usar .index(). Sólo para incitarte a aprender más de Pandas, la siguiente
> instrucción te da el promedio de los valores de IMPORTE_AFILIADO para los
> items del laboratorio Alcon:
>
> >>> leer[leer.LABORATORIO == "Alcon"].IMPORTE_AFILIADO.mean()
>
> Saludos y suerte
>
> El mar., 4 de ago. de 2020 a la(s) 07:22, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Buenos días, dale ahí voy.
>> A ver si se puede acceder: gavade.csv
>> <https://drive.google.com/drive/u/1/my-drive>
>> Gracias, saludos
>>
>> El lun., 3 ago. 2020 a las 22:56, David Suárez vía Python-es (<
>> python-es@python.org>) escribió:
>>
>>> Lamentablemente no pude bajar el csv. El sitio me pedía crear una cuenta
>>> antes para poder bajarlo >:-/ pero si lo compartes por Dropbox o Google
>>> Drive sería mejor.
>>>
>>> El lun., 3 de ago. de 2020 a la(s) 18:42, Lemarchand Barker (
>>> lemarchand8...@gmail.com) escribió:
>>>
>>>> Hice un leve intento de usar DataFrame, me costó un poco pero supongo
>>>> que debo sentarme y practicar más el tema de pandas.
>>>> Voy a probar lo que me dijiste.
>>>> Dejo link dónde está el csv: gavade.csv
>>>> <https://www.4shared.com/file/2-ZFJqmVea/gavade.html>
>>>> Muchas gracias
>>>>
>>>>
>>>> El lun., 3 ago. 2020 a las 20:13, David Suárez vía Python-es (<
>>>> python-es@python.org>) escribió:
>>>>
>>>>> Hola,
>>>>>
>>>>> para ayudarte sería útil que nos compartieras al menos un fragmento de
>>>>> la tabla, pero de entrada pienso que podrías jugar un poco con el 
>>>>> argumento
>>>>> *index_col* de read_csv y que en lugar de crear una lista con los
>>>>> nombres de los laboratorios uses directamente el DataFrame de pandas para
>>>>> obtener los datos.
>>>>>
>>>>> Es difícil sin conocer la estructura de tus datos, pero algo así como
>>>>> el siguiente código podría serte útil:
>>>>> >>> posiciones = leer.Laboratorio == "Alcon" #Esto te devuelve un
>>>>> vector lógico con True en aquellas posiciones donde el dato coincida con
>>>>> "Alcon"
>>>>> >>> leer.Indice[posiciones] # Esto te devuelve un vector con los
>>>>> índices (de tu archivo .csv) correspondientes al laboratorio Alcon. Algo
>>>>> equivalente a la lista [60, 61, ...]
>>>>>
>>>>> Haz la prueba y creo que si checas todas las prestaciones de Pandas ya
>>>>> no querrás usar .index()
>>>>>
>>>>> Saludos y espero que esto te ayude,
>>>>> David
>>>>>
>>>>> El lun., 3 de ago. de 2020 a la(s) 15:52, Lemarchand Barker (
>>>>> lemarchand8...@gmail.com) escribió:
>>>>>
>>>>>> Parece que no pasó el mail. El csv se lee perfecto y la primer columna
>>>>>> de la izquierda que sería el índice está ordenado, el único valor que
>>>>>> es el código de cada uno de los medicamentos es el que va cambiando y
>>>>>> no necesariamente es consecutivo, pero se los puede ordenar de menor a
>>>>>> mayor que así es como figura. Pero el valor del índice, el que empieza
>>>>>> con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
>>>>>> índice que me da de resultado no coincide con el que figura en el csv.
>>>>>> Gracias, saludos
>>>>>>
>>>>>> El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
>>>>>> () escribió:
>>>>>> >
>>>>>> > Hola, a ver si entiendo lo que quisieras que haga

Re: [Python-es] [Consulta] lista .index()

2020-08-04 Por tema Lemarchand Barker
Listo, ahora si.
Desde este link se puede acceder: gavade.csv
<https://www.dropbox.com/s/dcwvpw77k3ow3m8/gavade.csv?dl=0>
Muchas gracias, saludos

El mar., 4 ago. 2020 a las 9:26, Ricardo Cárdenes (<
ricardo.carde...@gmail.com>) escribió:

> Erm... El enlace no sirve.
>
> Mira, ve a Drive, haz click derecho en el fichero que quieres compartir y
> busca, según el idioma que tengas configurado, una de estas dos cosas:
>
>
>- Get shareable link
>- Obtener enlace
>
> O similar. Te debería aparecer una ventana donde se te proporciona un
> enlace nuevo, que se usará para que otros puedan acceder a tu contenido,
> pero sólo a eso y sólo siguiendo ese enlace.
>
> On Tue, Aug 4, 2020 at 2:22 AM Lemarchand Barker 
> wrote:
>
>> Buenos días, dale ahí voy.
>> A ver si se puede acceder: gavade.csv
>> <https://drive.google.com/drive/u/1/my-drive>
>> Gracias, saludos
>>
>> El lun., 3 ago. 2020 a las 22:56, David Suárez vía Python-es (<
>> python-es@python.org>) escribió:
>>
>>> Lamentablemente no pude bajar el csv. El sitio me pedía crear una cuenta
>>> antes para poder bajarlo >:-/ pero si lo compartes por Dropbox o Google
>>> Drive sería mejor.
>>>
>>> El lun., 3 de ago. de 2020 a la(s) 18:42, Lemarchand Barker (
>>> lemarchand8...@gmail.com) escribió:
>>>
>>>> Hice un leve intento de usar DataFrame, me costó un poco pero supongo
>>>> que debo sentarme y practicar más el tema de pandas.
>>>> Voy a probar lo que me dijiste.
>>>> Dejo link dónde está el csv: gavade.csv
>>>> <https://www.4shared.com/file/2-ZFJqmVea/gavade.html>
>>>> Muchas gracias
>>>>
>>>>
>>>> El lun., 3 ago. 2020 a las 20:13, David Suárez vía Python-es (<
>>>> python-es@python.org>) escribió:
>>>>
>>>>> Hola,
>>>>>
>>>>> para ayudarte sería útil que nos compartieras al menos un fragmento de
>>>>> la tabla, pero de entrada pienso que podrías jugar un poco con el 
>>>>> argumento
>>>>> *index_col* de read_csv y que en lugar de crear una lista con los
>>>>> nombres de los laboratorios uses directamente el DataFrame de pandas para
>>>>> obtener los datos.
>>>>>
>>>>> Es difícil sin conocer la estructura de tus datos, pero algo así como
>>>>> el siguiente código podría serte útil:
>>>>> >>> posiciones = leer.Laboratorio == "Alcon" #Esto te devuelve un
>>>>> vector lógico con True en aquellas posiciones donde el dato coincida con
>>>>> "Alcon"
>>>>> >>> leer.Indice[posiciones] # Esto te devuelve un vector con los
>>>>> índices (de tu archivo .csv) correspondientes al laboratorio Alcon. Algo
>>>>> equivalente a la lista [60, 61, ...]
>>>>>
>>>>> Haz la prueba y creo que si checas todas las prestaciones de Pandas ya
>>>>> no querrás usar .index()
>>>>>
>>>>> Saludos y espero que esto te ayude,
>>>>> David
>>>>>
>>>>> El lun., 3 de ago. de 2020 a la(s) 15:52, Lemarchand Barker (
>>>>> lemarchand8...@gmail.com) escribió:
>>>>>
>>>>>> Parece que no pasó el mail. El csv se lee perfecto y la primer columna
>>>>>> de la izquierda que sería el índice está ordenado, el único valor que
>>>>>> es el código de cada uno de los medicamentos es el que va cambiando y
>>>>>> no necesariamente es consecutivo, pero se los puede ordenar de menor a
>>>>>> mayor que así es como figura. Pero el valor del índice, el que empieza
>>>>>> con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
>>>>>> índice que me da de resultado no coincide con el que figura en el csv.
>>>>>> Gracias, saludos
>>>>>>
>>>>>> El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
>>>>>> () escribió:
>>>>>> >
>>>>>> > Hola, a ver si entiendo lo que quisieras que haga. Ingresás un
>>>>>> laboratorio, y que muestre la posición y el nombre del laboratorio en la
>>>>>> misma línea (o los laboratorios) pero sólo obtenés el índice?
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > PD: nunca voy a entender la necesidad o necedad de responder sin
>>>>>> responder, ¡h

[Python-es] gavade.csv

2020-08-04 Por tema Lemarchand Barker (via Google Drive)

I've shared an item with you:

gavade.csv
https://drive.google.com/file/d/1Mcwp8bg_p_E1-EpGCN72v2j40XCPpRcI/view?usp=sharing=CMqS75MJ=5f2955bd

It's not an attachment -- it's stored online. To open this item, just click  
the link above.


___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] lista .index()

2020-08-04 Por tema Lemarchand Barker
Buenos días, dale ahí voy.
A ver si se puede acceder: gavade.csv
<https://drive.google.com/drive/u/1/my-drive>
Gracias, saludos

El lun., 3 ago. 2020 a las 22:56, David Suárez vía Python-es (<
python-es@python.org>) escribió:

> Lamentablemente no pude bajar el csv. El sitio me pedía crear una cuenta
> antes para poder bajarlo >:-/ pero si lo compartes por Dropbox o Google
> Drive sería mejor.
>
> El lun., 3 de ago. de 2020 a la(s) 18:42, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Hice un leve intento de usar DataFrame, me costó un poco pero supongo que
>> debo sentarme y practicar más el tema de pandas.
>> Voy a probar lo que me dijiste.
>> Dejo link dónde está el csv: gavade.csv
>> <https://www.4shared.com/file/2-ZFJqmVea/gavade.html>
>> Muchas gracias
>>
>>
>> El lun., 3 ago. 2020 a las 20:13, David Suárez vía Python-es (<
>> python-es@python.org>) escribió:
>>
>>> Hola,
>>>
>>> para ayudarte sería útil que nos compartieras al menos un fragmento de
>>> la tabla, pero de entrada pienso que podrías jugar un poco con el argumento
>>> *index_col* de read_csv y que en lugar de crear una lista con los
>>> nombres de los laboratorios uses directamente el DataFrame de pandas para
>>> obtener los datos.
>>>
>>> Es difícil sin conocer la estructura de tus datos, pero algo así como el
>>> siguiente código podría serte útil:
>>> >>> posiciones = leer.Laboratorio == "Alcon" #Esto te devuelve un vector
>>> lógico con True en aquellas posiciones donde el dato coincida con "Alcon"
>>> >>> leer.Indice[posiciones] # Esto te devuelve un vector con los índices
>>> (de tu archivo .csv) correspondientes al laboratorio Alcon. Algo
>>> equivalente a la lista [60, 61, ...]
>>>
>>> Haz la prueba y creo que si checas todas las prestaciones de Pandas ya
>>> no querrás usar .index()
>>>
>>> Saludos y espero que esto te ayude,
>>> David
>>>
>>> El lun., 3 de ago. de 2020 a la(s) 15:52, Lemarchand Barker (
>>> lemarchand8...@gmail.com) escribió:
>>>
>>>> Parece que no pasó el mail. El csv se lee perfecto y la primer columna
>>>> de la izquierda que sería el índice está ordenado, el único valor que
>>>> es el código de cada uno de los medicamentos es el que va cambiando y
>>>> no necesariamente es consecutivo, pero se los puede ordenar de menor a
>>>> mayor que así es como figura. Pero el valor del índice, el que empieza
>>>> con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
>>>> índice que me da de resultado no coincide con el que figura en el csv.
>>>> Gracias, saludos
>>>>
>>>> El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
>>>> () escribió:
>>>> >
>>>> > Hola, a ver si entiendo lo que quisieras que haga. Ingresás un
>>>> laboratorio, y que muestre la posición y el nombre del laboratorio en la
>>>> misma línea (o los laboratorios) pero sólo obtenés el índice?
>>>> >
>>>> >
>>>> >
>>>> > PD: nunca voy a entender la necesidad o necedad de responder sin
>>>> responder, ¡hay que tener ganas!
>>>> >
>>>> >
>>>> > -
>>>> >
>>>> > Sent with ProtonMail Secure Email.
>>>> >
>>>> > ‐‐‐ Original Message ‐‐‐
>>>> > On Monday, 3 de August de 2020 16:01, Lemarchand Barker <
>>>> lemarchand8...@gmail.com> wrote:
>>>> >
>>>> > > Buenas tardes, les hago una consulta. Sigo jugando con el archivo
>>>> csv,
>>>> > > en este caso lo que hice fue crear una lista llamada laboratorios la
>>>> > > cual contiene el nombre de todos los laboratorios que figuran en el
>>>> > > archivo. Hasta ahí perfecto, el tema era el siguiente, yo ingreso el
>>>> > > nombre del laboratorio y vi que se usa index() para conocer la
>>>> > > posición de un valor contenido en la lista. Entonces decidí probar
>>>> > > ingresando el nombre de un laboratorio para ver si me da el índice:
>>>> > >
>>>> > > leer = pd.read_csv('gavade.csv')
>>>> > >
>>>> > > laboratorios = []
>>>> > >
>>>> > > for lab in leer.iloc[0:8122, 4]:
>>>> > > laboratorios.append(lab)
>&

Re: [Python-es] [Consulta] lista .index()

2020-08-03 Por tema Lemarchand Barker
Hice un leve intento de usar DataFrame, me costó un poco pero supongo que
debo sentarme y practicar más el tema de pandas.
Voy a probar lo que me dijiste.
Dejo link dónde está el csv: gavade.csv
<https://www.4shared.com/file/2-ZFJqmVea/gavade.html>
Muchas gracias


El lun., 3 ago. 2020 a las 20:13, David Suárez vía Python-es (<
python-es@python.org>) escribió:

> Hola,
>
> para ayudarte sería útil que nos compartieras al menos un fragmento de la
> tabla, pero de entrada pienso que podrías jugar un poco con el argumento
> *index_col* de read_csv y que en lugar de crear una lista con los nombres
> de los laboratorios uses directamente el DataFrame de pandas para obtener
> los datos.
>
> Es difícil sin conocer la estructura de tus datos, pero algo así como el
> siguiente código podría serte útil:
> >>> posiciones = leer.Laboratorio == "Alcon" #Esto te devuelve un vector
> lógico con True en aquellas posiciones donde el dato coincida con "Alcon"
> >>> leer.Indice[posiciones] # Esto te devuelve un vector con los índices
> (de tu archivo .csv) correspondientes al laboratorio Alcon. Algo
> equivalente a la lista [60, 61, ...]
>
> Haz la prueba y creo que si checas todas las prestaciones de Pandas ya no
> querrás usar .index()
>
> Saludos y espero que esto te ayude,
> David
>
> El lun., 3 de ago. de 2020 a la(s) 15:52, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Parece que no pasó el mail. El csv se lee perfecto y la primer columna
>> de la izquierda que sería el índice está ordenado, el único valor que
>> es el código de cada uno de los medicamentos es el que va cambiando y
>> no necesariamente es consecutivo, pero se los puede ordenar de menor a
>> mayor que así es como figura. Pero el valor del índice, el que empieza
>> con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
>> índice que me da de resultado no coincide con el que figura en el csv.
>> Gracias, saludos
>>
>> El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
>> () escribió:
>> >
>> > Hola, a ver si entiendo lo que quisieras que haga. Ingresás un
>> laboratorio, y que muestre la posición y el nombre del laboratorio en la
>> misma línea (o los laboratorios) pero sólo obtenés el índice?
>> >
>> >
>> >
>> > PD: nunca voy a entender la necesidad o necedad de responder sin
>> responder, ¡hay que tener ganas!
>> >
>> >
>> > -
>> >
>> > Sent with ProtonMail Secure Email.
>> >
>> > ‐‐‐ Original Message ‐‐‐
>> > On Monday, 3 de August de 2020 16:01, Lemarchand Barker <
>> lemarchand8...@gmail.com> wrote:
>> >
>> > > Buenas tardes, les hago una consulta. Sigo jugando con el archivo csv,
>> > > en este caso lo que hice fue crear una lista llamada laboratorios la
>> > > cual contiene el nombre de todos los laboratorios que figuran en el
>> > > archivo. Hasta ahí perfecto, el tema era el siguiente, yo ingreso el
>> > > nombre del laboratorio y vi que se usa index() para conocer la
>> > > posición de un valor contenido en la lista. Entonces decidí probar
>> > > ingresando el nombre de un laboratorio para ver si me da el índice:
>> > >
>> > > leer = pd.read_csv('gavade.csv')
>> > >
>> > > laboratorios = []
>> > >
>> > > for lab in leer.iloc[0:8122, 4]:
>> > > laboratorios.append(lab)
>> > >
>> > > lab = input("Ingrese nombre del laboratorio: ")
>> > > print(laboratorios.index(lab))
>> > >
>> > > Cuando ejecuto se ve así:
>> > >
>> > > Ingrese nombre del laboratorio: Alcon
>> > > 58
>> > >
>> > > La cuestión es que en la posición 58, no figura el laboratorio que
>> > > ingresé. El orden es así:
>> > > 58 Abbott EPD
>> > > 59 Abbott EPD
>> > > 60 Alcon
>> > > 61 Alcon
>> > >
>> > > No entiendo, estoy usando mal la función o no se ajusta a lo que
>> > > necesito? Qué estoy haciendo mal?
>> > > Muchas gracias, saludos
>> > >
>> > > 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


Re: [Python-es] [Consulta] lista .index()

2020-08-03 Por tema Lemarchand Barker
Parece que no pasó el mail. El csv se lee perfecto y la primer columna
de la izquierda que sería el índice está ordenado, el único valor que
es el código de cada uno de los medicamentos es el que va cambiando y
no necesariamente es consecutivo, pero se los puede ordenar de menor a
mayor que así es como figura. Pero el valor del índice, el que empieza
con 0 y termina en 8122, cuando ingreso un nombre de laboratorio el
índice que me da de resultado no coincide con el que figura en el csv.
Gracias, saludos

El lun., 3 ago. 2020 a las 17:22, Darío vía Python-es
() escribió:
>
> Hola, a ver si entiendo lo que quisieras que haga. Ingresás un laboratorio, y 
> que muestre la posición y el nombre del laboratorio en la misma línea (o los 
> laboratorios) pero sólo obtenés el índice?
>
>
>
> PD: nunca voy a entender la necesidad o necedad de responder sin responder, 
> ¡hay que tener ganas!
>
>
> -
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐ Original Message ‐‐‐
> On Monday, 3 de August de 2020 16:01, Lemarchand Barker 
>  wrote:
>
> > Buenas tardes, les hago una consulta. Sigo jugando con el archivo csv,
> > en este caso lo que hice fue crear una lista llamada laboratorios la
> > cual contiene el nombre de todos los laboratorios que figuran en el
> > archivo. Hasta ahí perfecto, el tema era el siguiente, yo ingreso el
> > nombre del laboratorio y vi que se usa index() para conocer la
> > posición de un valor contenido en la lista. Entonces decidí probar
> > ingresando el nombre de un laboratorio para ver si me da el índice:
> >
> > leer = pd.read_csv('gavade.csv')
> >
> > laboratorios = []
> >
> > for lab in leer.iloc[0:8122, 4]:
> > laboratorios.append(lab)
> >
> > lab = input("Ingrese nombre del laboratorio: ")
> > print(laboratorios.index(lab))
> >
> > Cuando ejecuto se ve así:
> >
> > Ingrese nombre del laboratorio: Alcon
> > 58
> >
> > La cuestión es que en la posición 58, no figura el laboratorio que
> > ingresé. El orden es así:
> > 58 Abbott EPD
> > 59 Abbott EPD
> > 60 Alcon
> > 61 Alcon
> >
> > No entiendo, estoy usando mal la función o no se ajusta a lo que
> > necesito? Qué estoy haciendo mal?
> > Muchas gracias, saludos
> >
> > 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] [Consulta] lista .index()

2020-08-03 Por tema Lemarchand Barker
Buenas tardes, les hago una consulta. Sigo jugando con el archivo csv,
en este caso lo que hice fue crear una lista llamada laboratorios la
cual contiene el nombre de todos los laboratorios que figuran en el
archivo. Hasta ahí perfecto, el tema era el siguiente, yo ingreso el
nombre del laboratorio y vi que se usa index() para conocer la
posición de un valor contenido en la lista. Entonces decidí probar
ingresando el nombre de un laboratorio para ver si me da el índice:

leer = pd.read_csv('gavade.csv')

laboratorios = []

for lab in leer.iloc[0:8122, 4]:
laboratorios.append(lab)

lab = input("Ingrese nombre del laboratorio: ")
print(laboratorios.index(lab))

Cuando ejecuto se ve así:

Ingrese nombre del laboratorio: Alcon
58

La cuestión es que en la posición 58, no figura el laboratorio que
ingresé. El orden es así:
58 Abbott EPD
59 Abbott EPD
60 Alcon
61 Alcon

No entiendo, estoy usando mal la función o no se ajusta a lo que
necesito? Qué estoy haciendo mal?
Muchas gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] csv y diccionario

2020-07-24 Por tema Lemarchand Barker
Hola Sebastián, como es obvio no soy programadora innata pero python
siempre me atrajo. En mi juventud programé con php y html+css, pero
nunca me llevé bien con ese lenguaje, me resulta incómodo, no digo que
sea malo ni nada, yo no me sentía cómoda usándolo. Fue ahí cuando me
pasé a python 2.7, cuando el 3 estaba empezando. Después por
cuestiones personales tuve que dejar la programación y siempre lo vi
como un pendiente, me gusta, claramente me lleva más tiempo aprenderlo
pero no me doy por vencido aunque solo tenga conocimientos más que
básicos.
Preguntaba lo del diccionario porque acá en la lista ya me lo habían
sugerido y porque en muchos ejemplos que veo y leo también lo usan y
quería saber si había algún motivo en especial por el cual se lo
usaba. Y creo que más allá de lo que me dijiste, que todo depende la
tarea que quiera realizar y la cantidad de datos a analizar pero creo
que la ventaja principal es la que me dijiste, la versatilidad del
diccionario. Vi por ejemplo que un diccionario puede almacenar varios
csv a la vez.
Muchas gracias, saludos

El vie., 24 jul. 2020 a las 18:28, Sebastián Arancibia
() escribió:
>
> Primero, creo pertinente aclarar conceptos. Sería bueno que nos dijeras en 
> que otros lenguajes te manejas o tienes experiencia para hacer un símil.
>
> Python tiene 4 tipos de estructuras de datos. Listas, conjuntos (sets), 
> tuplas y diccionarios. Las listas son, como dice su nombre, un listado de 
> objetos (que pueden ser enteros, strings, otras listas, etc) y que permiten 
> operaciones entre si. Los conjuntos son similar con la diferencia que el 
> conjunto no acepta elementos repetidos, y de que aceptan operaciones típicas 
> de conjuntos como unión, intercepción o diferencia. Las tuplas son similares 
> a las listas, con la diferencia de que son inmutables (o sea, no puedes 
> cambiarlas una vez creadas). Y, finalmente, tenemos los diccionarios, que son 
> una estructura que guarda pares de clave-valor, y que también pueden 
> almacenar como valor cualquier tipo de dato (otros diccionarios, listas, etc).
>
> Hice la salvedad de diferenciar las estructuras de dato, porque, como 
> siempre, esto incide en la decisión de qué usar, y eso simplemente lo ves 
> dependiendo de lo que necesites. Para algunos casos conviene listados, para 
> otros conjuntos, para otros tuplas y para otros diccionarios. Es cierto que 
> tal vez un cierto problema lo puedes enfocar de varias formas pero ahí el 
> rendimiento entra en juego. No es lo mismo procesar unos cientos datos que 
> millones de datos... y un desarrollo bien optimizado en Python hace muchísimo 
> la diferencia en rendimiento. Esto se nota sobre todo si después despliegas 
> tus desarrollos (ya sea en la nube, en un servidor, etc).
>
> Ahora, ¿por qué los diccionarios son muy buenos? Pues porque es una 
> estructura de dato muy versátil, te permite buscar por keys, anidar objetos, 
> filtrar, etc. Además es muy similar a operar un JSON (sin serlo), entonces es 
> mucho más natural a la hora de trabajar datos versus una lista/tupla. Esto es 
> muy útil si trabajas haciendo microservicios en Python por ejemplo, ya que te 
> hace sencillísimo mapear inputs/outputs y trabajarlos. Es importante si la 
> aclaración de que no es lo mismo que JSON, hay muchas personas que he 
> conocido que piensan erróneamente esto último cuando recién se están 
> introduciendo en Python y después se frustran cuando notan que sus 
> desarrollos no devuelven respuestas esperadas (o en el formato esperado).
>
> Ahora, si quieres ver rendimiento o complejidad algorítmica, este link 
> (https://www.pythonlikeyoumeanit.com/Module2_EssentialsOfPython/DataStructures.html)
>  puede darte más luces. Ojo, repito que no es que una estructura de datos sea 
> mejor que otra, depende mucho de la necesidad, caso de uso o requerimiento en 
> específico.
>
> Saludos.
>
> On Fri, Jul 24, 2020 at 2:46 PM Lemarchand Barker  
> wrote:
>>
>> Hola, esta vez les pregunto como bien me habían comentado antes, a la
>> hora de trabajar con un archivo csv que use diccionario. Pero hay
>> algún motivo en particular o en especial por el cuál se hace esto? Es
>> por cuestión de rendimiento a nivel sistema o porque ofrece una forma
>> más fácil de trabajar y manipular la información?
>> Por lo que leí es mejor usar el diccionario en vez de manejar la una
>> lista individual de cadenas. Lo entiendo pero hay algún plus o algo
>> que favorezca el uso del diccionario?
>> Gracias, saludos
>> ___
>> 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] [Consulta] csv y diccionario

2020-07-24 Por tema Lemarchand Barker
Hola, esta vez les pregunto como bien me habían comentado antes, a la
hora de trabajar con un archivo csv que use diccionario. Pero hay
algún motivo en particular o en especial por el cuál se hace esto? Es
por cuestión de rendimiento a nivel sistema o porque ofrece una forma
más fácil de trabajar y manipular la información?
Por lo que leí es mejor usar el diccionario en vez de manejar la una
lista individual de cadenas. Lo entiendo pero hay algún plus o algo
que favorezca el uso del diccionario?
Gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Caracter raro en .csv

2020-07-22 Por tema Lemarchand Barker
Buenas, les cuento que solucioné el problema. Lo solucioné cambiando
la configuración de PyCharm, quiero adjuntar la foto para que vean, si
es posible.
Resulta que en la parte de Settings del ide, cargué el csv que estoy
usando y me muestra que usa codificación iso como bien me dijeron
anteriormente; y el problema asumo se generaba porque el ide por
default está en utf-8 y es por eso que creo que por más que yo le haya
pasado el parámetro de: encoding='ISO-8859-1' no me servía de mucho.
Cuestión que en la parte de configuración del ide, cargo el archivo
.csv y paso todo a iso. Ejecuto de nuevo el programa y seguía sin
darme el resultado que necesitaba. Pasaba lo siguiente:
Yo buscaba así:

Ingrese nombre del laboratorio: Bagó
El laboratorio Bagó no figura en lista.

Hasta que por fin pensé y lo busqué de la siguiente forma:

Ingrese nombre del laboratorio: Andr?maco
El laboratorio Andr?maco aparece en lista 52 veces

Hice un copy-paste del nombre del laboratorio, lo copié del csv y lo
pegué en ide cuando me pide que ingrese el nombre y funcionó.
Ahora lo que tengo que hacer es afinar la búsqueda y acá es donde es
muy seguro que los vuelva a molestar en breve.
Gracias 1000 a todos por la paciencia

El mié., 22 jul. 2020 a las 6:59, lasizoillo () escribió:
>
>
>
> El mié., 22 jul. 2020 a las 0:01, Darío vía Python-es 
> () escribió:
>>
>>
>> Estaba hablando con un compañero y me acaba de decir lo mismo.
>> Ahora, lo ideal es que se use el utf o latin? Cuál es más aconsejable?
>> Gracias
>>
>>
>> Hola, uso utf-8 porque tengo entendido que si usás Windows debe ser latin 
>> (al menos eso me pasaba al compilar archvos .tex). Habitualmente pongo
>>
>> # -*- coding: utf-8 -*-
>>
>> al inicio del guión.
>>
>>
>
> Con eso estás informando al intérprete cuál es la codificación del fichero 
> python (tu código fuente) y para nada estás especificando la codificación de 
> caracteres con la que te comunicas con el mundo exterior. Con eso afectas a 
> la codificación de cadenas unicode en tu código. Unos ejemplos estrambóticos 
> para ilustrarlo en python2 (sacados de una charla del 2011):
>
> Ejemplo 1:
> # -*- coding: rot13 -*-
> cevag h"fnyhqbf qrfqr rfcn�n"
>
> Ejemplo 2:
> # -*- coding: rot13 -*-
> cevag "hola mundo desde españa"
>
> La forma correcta es la comentada por ricardo: open(nombre_del_fichero, 
> encoding='latin-1')
>
> En cuanto a si es mejor latin-1 o utf-8 depende. Con latin-1 todos los 
> caracteres ocupan un byte por lo que el uso de memoria es más predecible
> y se puede usar algoritmos como el boyer-moore en la representación binaria 
> del texto. Con utf-8 tienes una representación mayormente compacta
> pero capaz de representar klingon, kanji, cirílico y caracteres de casi 
> cualquier otra lengua. Personalmente prefiero utf-8 y tener muy claro
> que cadenas de bytes y de texto son cosas completamente diferentes aunque 
> haya formas de convertir unas en otras: por la red o a la consola de
> texto o... transmites bytes e internamente trabajas con cadenas de texto. 
> Cualquier comunicación dentro/fuera o fuera/dentro requiere definir
> una codificación de caracteres (la que sea) y hacer la conversión correcta.
>
> Un saludo,
>
> Javi
> ___
> 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


Re: [Python-es] [Consulta] Caracter raro en .csv

2020-07-21 Por tema Lemarchand Barker
Entonces supongo que el archivo lo generaron usando win, mi compañero
me dijo prácticamente lo mismo que Ricardo, que sea latin.
Me dijo que con Libreoffice; que es lo que uso; que lo puedo ir
cambiando la opción "conjunto de caracteres" hasta que no haya
caracteres raros.
Gracias :)

El mar., 21 jul. 2020 a las 19:02, Darío vía Python-es
() escribió:
>
>
> Estaba hablando con un compañero y me acaba de decir lo mismo.
> Ahora, lo ideal es que se use el utf o latin? Cuál es más aconsejable?
> Gracias
>
>
> Hola, uso utf-8 porque tengo entendido que si usás Windows debe ser latin (al 
> menos eso me pasaba al compilar archvos .tex). Habitualmente pongo
>
> # -*- coding: utf-8 -*-
>
> al inicio del guión.
>
>
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
>  Mensaje original 
> De: Ricardo Cárdenes 
> Fecha: 21/7/20 18:42 (GMT-03:00)
> A: La lista de python en castellano 
> Asunto: Re: [Python-es] [Consulta] Caracter raro en .csv
>
> El problema es que estás leyendo el fichero asumiendo una cierta codificación 
> (casi seguramente UTF-8, por defecto), mientras que el fichero realmente 
> contiene otra (probablemente "latin-1").
>
> Ambas codificaciones coinciden sólo en caracteres con valor ASCII < 128.
>
> Prueba a abrir el fichero así: open(nombre_del_fichero, encoding='latin-1')
>
> On Tue, Jul 21, 2020 at 11:37 AM Lemarchand Barker  
> wrote:
>>
>> Hola, otra vez les molesto para consultar lo siguiente. Leo el archivo
>> perfecto, estoy viendo cuántas veces aparece un mismo laboratorio.
>> Pero el tema es el siguiente, adjunto img. Como se puede ver, se ve el
>> caracter que reemplaza una letra, el laboratorio se llama Andrómaco
>> (chileno), si lo busco tal cual me figura que no está en lista:
>>
>> /usr/bin/python3.8 /home/raiden/Programacion/curso/ejercicios/pami.py
>> Ingrese nombre del laboratorio: Andrómaco
>> El laboratorio Andrómaco no figura en lista.
>>
>> Si lo busco sin acento, el resultado es el mismo, también pensé en
>> buscar por partes, es decir que en lugar de que busque por el nombre
>> completo: Andrómaco que busque por las 3 primeras letras: And. Esto
>> todavía no lo hice porque esa parte la quiero practicar después. Ahora
>> la duda es la siguiente, hay alguna forma de buscar por el nombre
>> completo del laboratorio; tal cual lo estoy haciendo; y tratar de
>> solucionar el Andr�maco?
>>
>> Muchas gracias, saludos
>> ___
>> 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] [Consulta] Caracter raro en .csv

2020-07-21 Por tema Lemarchand Barker
Hola, otra vez les molesto para consultar lo siguiente. Leo el archivo
perfecto, estoy viendo cuántas veces aparece un mismo laboratorio.
Pero el tema es el siguiente, adjunto img. Como se puede ver, se ve el
caracter que reemplaza una letra, el laboratorio se llama Andrómaco
(chileno), si lo busco tal cual me figura que no está en lista:

/usr/bin/python3.8 /home/raiden/Programacion/curso/ejercicios/pami.py
Ingrese nombre del laboratorio: Andrómaco
El laboratorio Andrómaco no figura en lista.

Si lo busco sin acento, el resultado es el mismo, también pensé en
buscar por partes, es decir que en lugar de que busque por el nombre
completo: Andrómaco que busque por las 3 primeras letras: And. Esto
todavía no lo hice porque esa parte la quiero practicar después. Ahora
la duda es la siguiente, hay alguna forma de buscar por el nombre
completo del laboratorio; tal cual lo estoy haciendo; y tratar de
solucionar el Andr�maco?

Muchas gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Ordenar elementos de una lista

2020-07-20 Por tema Lemarchand Barker
A ver, acá va:

lugar = input("Ingrese el lugar que desea buscar: ")
cont = 0
for l in lista_datos[1]:
if l == lugar:
cont = cont + 1
if cont == 0:
print(f"La palabra que {lugar} no aparece en la lista.")
elif cont != 0:
print(f"La palabra {lugar} aparece en la lista {cont} veces.")

Esto me da como salida:

/usr/bin/python3.8 /home/raiden/Programacion/curso/ejercicios/testcsv.py
Ingrese el lugar que desea buscar: Argentina
La palabra Argentina aparece en la lista 29 veces.

El lun., 20 jul. 2020 a las 18:26, Darío vía Python-es
() escribió:
>
> Con el ejemplo que te di antes, podés transformarlo a una lista con .tolist, 
> eso te daría una lista con los países solamente sin las repeticiones, luego 
> con eso se me ocurre que con un for poder recorrer esa lista y el .csv.
>
> Otra que te podría servir es reindexar el csv, para que el índice sea el de 
> los países y ahí ya listas por país.
>
> ¿podrías mostrar alguna salida hecha con el código?
>
>
> -
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐ Original Message ‐‐‐
> On Monday, 20 de July de 2020 17:51, Lemarchand Barker 
>  wrote:
>
> > Adjunto imágen para que se entienda lo que quiero hacer y si es
> > posible. En la imágen se ve que se repite el nombre 29 veces pero los
> > datos no son repetidos, entonces lo que quiero hacer es, ingresar por
> > ejemplo: Argentina y que se fije en el archivo si está el país, y en
> > caso de que lo esté, que solo muestre el nombre 1 sola vez y no la
> > cantidad de veces que figura en el archivo.
> > Espero ahora si se me entienda mejor.
> > Gracias, saludos
> >
> > El lun., 20 jul. 2020 a las 17:42, Darío vía Python-es
> > (python-es@python.org) escribió:
> >
> > > No entiendo si lo que precisas es que muestre sólo los valores de los 
> > > países pero sin repetición, quizás esto ayude:
> > > archivoCSV[archivoCSV.columns[0]][:].unique()
> > > donde el índice 0 indicaría la columna de países, depende dónde esté 
> > > dicha columna. Por ejemplo si los países son 1, 0, 1, 2, 3, 4, 5:
> > >
> > > > > > print(leer2[leer2.columns[0]][:])
> > >
> > > 0 1
> > > 1 0
> > > 2 1
> > > 3 2
> > > 4 3
> > > 5 4
> > > 6 5
> > > Name: regione, dtype: int64
> > >
> > > > > > print(leer2[leer2.columns[0]][:].unique())
> > >
> > > [1 0 2 3 4 5]
> > >
> > > -
> > >
> > > Sent with ProtonMail Secure Email.
> > > ‐‐‐ Original Message ‐‐‐
> > > On Monday, 20 de July de 2020 17:06, lemarchand8679 
> > > lemarchand8...@gmail.com wrote:
> > > Gracias Ricardi, ahí voy.
> > > Argentina y la mayoría de los lugares se repite 29 veces (filas). Cada 
> > > fila contiene información distinta, por lo que no hay datos repetidos.
> > > Entonces lo que quiero hacer es, ingresar el nombre de un país, pero que 
> > > no lo imprima por pantalla las 29 veces que aparece, sino solo saber si 
> > > ese país que ingresé está almacenado en el csv. No quiero modificar, 
> > > borrar o añadir algo, sólo saber si un país está o no en la lista y en 
> > > caso de que así sea, que lo muestre pero no todas las veces que se repite.
> > > Espero haberme explicado mejor, gracias
> > > Enviado desde mi smartphone Samsung Galaxy.
> > >  Mensaje original 
> > > De: Ricardo Cárdenes ricardo.carde...@gmail.com
> > > Fecha: 20/7/20 16:59 (GMT-03:00)
> > > A: La lista de python en castellano python-es@python.org
> > > Asunto: Re: [Python-es] [Consulta] Ordenar elementos de una lista
> > > No hay una respuesta única. Eso depende de tu problema en concreto.
> > > Por ejemplo, dices que el número de área está repetido... ¿Significa eso 
> > > que el resto de valores también están repetidos? Es decir, ¿la fila con 
> > > los datos de Argentina aparece 29 veces? En ese caso entiendo que lo que 
> > > quieres es eliminar duplicados. Eso es trivial: simplemente, mantén algún 
> > > tipo de registro de los datos que vas leyendo del CSV (un set almacenando 
> > > los códigos es perfecto para esto) y no añadas a la lista las filas que 
> > > ya "viste".
> > > Si lo que quieres es consolidar datos (cada fila con el mismo código 
> > > tiene datos diferentes, que quieres sumar, o hacer media, o...) entonces 
> > > la respuesta va a ser diferente.
> > > Necesitas explicar de forma clara qué es lo que pretendes y entonces se 
> > > te puede dar una respuesta.
> 

Re: [Python-es] [Consulta] Ordenar elementos de una lista

2020-07-20 Por tema Lemarchand Barker
Lo del diccionario es algo que lo pensé, tendría que darle más forma a eso.
A ver quiero hacer lo siguiente:

lugar = input("Ingrese el nombre del país: ")
Ingresa: Argentina

Entonces en vez de mostrar las 29 veces que aparece el país que
muestre sólo una vez, porque en este caso no me interesa ver los datos
almacenados y correspondientes al país, sino sólo saber si está o no y
acá me gustaría enganchar con el diccionario o no se si tiene sentido.
Es decir, primero saber si el país se encuentra y si está, entonces
después veo de buscar cuál es su código correspondiente y a partir de
eso armar si es posible un diccionario.
Espero que ahora si se haya entendido bien, sólo necesito saber si
está el país, si ingreso Finlandia, saber si está o no y así con el
resto de países.
Gracias, saludos

El lun., 20 jul. 2020 a las 18:09, Ricardo Cárdenes
() escribió:
>
> De nuevo, depende de lo que quieras mostrar, de forma más detallada. Dices:
>
> Entonces lo que quiero hacer es, ingresar el nombre de un país, pero que no 
> lo imprima por pantalla las 29 veces que aparece, sino solo saber si ese país 
> que ingresé está almacenado en el csv
>
>
> Tendrías que clarificar lo que estás imprimiendo. Por ejemplo:
>
> ¿Sólo quieres saber si se incluyen datos del país en cuestión, pero no 
> imprimirlos? ¡Bueno, entonces no los imprimas! Imprime sólo "sí, está", o 
> cualquier otra cosa que tú quieras. Sólo una vez. Entiendo que estás iterando 
> sobre la lista de datos e imprimiendo "Argentina" cada vez que aparece el 
> código. En lugar de eso, podrías detener la búsqueda (con un break, 
> probablemente) cuando encuentres la primera coincidencia.
> ¿Quieres mostrar los datos, pero no repetir el código en cada fila? ¡No lo 
> hagas! Muestra sólo las columnas que te interesan.
>
> Para la primera, por ejemplo, podrías incluso mantener una lista separada (o 
> casi mejor, un set) con los códigos de los países que aparecen. Entonces 
> comprobar si el país está incluido o no es trivial.
>
> O podrías combinar ambos puntos: usar un diccionario, indizado por el código 
> del país, cuyos valores fueran listas de los datos de los respectivos países 
> (un par valor-lista para cada código de país). Y como el dato del país ya 
> está en el índice, no tienes que repetirlo en los datos almacenados. Eso te 
> permitiría tener acceso inmediato a los datos exclusivos a un país.
>
> Claro que esto último sólo es útil si todas tus búsquedas van indizadas por 
> país.
>
> No sé, como te digo, nos vas dando información poquito a poquito de lo que 
> quieres hacer y eso deja demasiadas cosas abiertas.
>
> On Mon, Jul 20, 2020 at 10:07 AM lemarchand8679  
> wrote:
>>
>> Gracias Ricardi, ahí voy.
>> Argentina y la mayoría de los lugares se repite 29 veces (filas). Cada fila 
>> contiene información distinta, por lo que no hay datos repetidos.
>> Entonces lo que quiero hacer es, ingresar el nombre de un país, pero que no 
>> lo imprima por pantalla las 29 veces que aparece, sino solo saber si ese 
>> país que ingresé está almacenado en el csv. No quiero modificar, borrar o 
>> añadir algo, sólo saber si un país está o no en la lista y en caso de que 
>> así sea, que lo muestre pero no todas las veces que se repite.
>> Espero haberme explicado mejor, gracias
>>
>>
>>
>> Enviado desde mi smartphone Samsung Galaxy.
>>
>>
>>  Mensaje original 
>> De: Ricardo Cárdenes 
>> Fecha: 20/7/20 16:59 (GMT-03:00)
>> A: La lista de python en castellano 
>> Asunto: Re: [Python-es] [Consulta] Ordenar elementos de una lista
>>
>> No hay una respuesta única. Eso depende de tu problema en concreto.
>>
>> Por ejemplo, dices que el número de área está repetido... ¿Significa eso que 
>> el resto de valores también están repetidos? Es decir, ¿la fila con los 
>> datos de Argentina aparece 29 veces? En ese caso entiendo que lo que quieres 
>> es eliminar duplicados. Eso es trivial: simplemente, mantén algún tipo de 
>> registro de los datos que vas leyendo del CSV (un set almacenando los 
>> códigos es perfecto para esto) y no añadas a la lista las filas que ya 
>> "viste".
>>
>> Si lo que quieres es consolidar datos (cada fila con el mismo código tiene 
>> datos diferentes, que quieres sumar, o hacer media, o...) entonces la 
>> respuesta va a ser diferente.
>>
>> Necesitas explicar de forma clara qué es lo que pretendes y entonces se te 
>> puede dar una respuesta.
>>
>> On Mon, Jul 20, 2020 at 9:36 AM Lemarchand Barker  
>> wrote:
>>>
>>> Hola, esta vez mi pregunta es más simple, sigo jugando el archivo csv
>>> y para seguir p

[Python-es] [Consulta] Ordenar elementos de una lista

2020-07-20 Por tema Lemarchand Barker
Hola, esta vez mi pregunta es más simple, sigo jugando el archivo csv
y para seguir practicando, lo que estoy haciendo es lo siguiente.
Definí una lista la cual la dejé vacía, y a partir del csv guardé en
la lista 3 valores: Area, Population y Value. Le cambié los nombres
porque eran muy largos y para tratar de evitar errores en la búsqueda
luego.
Una vez añadidos estos 3 datos a la lista, los imprimía por ejemplo
los valores contenidos en Area y vi que los datos estaban repetidos.
Por ejemplo, en mi caso soy de Argentina y el código que le
corresponde a mi país es el 32 y mediante el for, recorrí la lista y
vi que ese número se repite 29 veces y así con la mayoría de los
países del listado. Ahora mi pregunta es la siguiente, hay alguna
forma de listar los nombres de los países pero que figuren solo una
vez y no las 29 o las x cantidad de veces que figuren en el listado?
Porque como dije antes, Argentina tiene el número 32 pero si imprimo
el listado me aparece las 29 veces que figura en el csv.
Mi idea es por ejemplo imprimir el listado de países, pero sin la repetición.
Muchas gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Leer csv

2020-07-19 Por tema Lemarchand Barker
De lujo Darío y Sebastián, gracias

El dom., 19 jul. 2020 a las 17:37, Sebastián Arancibia
() 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  
> 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=Search
>>
>>
>>
>>
>> Enviado desde mi smartphone Samsung Galaxy.
>>
>>
>>  Mensaje original 
>> De: Darío vía Python-es 
>> Fecha: 19/7/20 17:10 (GMT-03:00)
>> A: La lista de python en castellano 
>> CC: Darío 
>> 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]]
>> 02005
>> 12005
>> 22005
>> 32005
>> 42005
>> 52005
>> 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
>> 01...  6541.9070
>> 11...  3296.4853
>> 21...  3245.4217
>> 31    ...   101.5734
>> 41...28.1425
>> 51...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 
>>  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']
&g

Re: [Python-es] [Consulta] Leer csv

2020-07-19 Por tema Lemarchand Barker
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
() 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 
> 
> 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
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

___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] Leer csv

2020-07-19 Por tema Lemarchand Barker
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

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


Re: [Python-es] [Consulta] max() y min()

2020-07-16 Por tema Lemarchand Barker
Buenas, estoy viendo las opciones que me dieron con count().
Ahora viene mi pregunta, cuál sería la diferencia entre lo que me recomendó:
Juan José:
va = cadena.count('a')

Y lo que dijo:
Ricardo:

>>> from collections import Counter
>>> cuentas = Counter(cadena.lower())
>>> va = cuentas.get('a', 0)
>>> ve = cuentas.get('e', 0)
>>> va
10
>>> ve
7

Gracias, saludos

El mié., 15 jul. 2020 a las 21:49, lemarchand8679
() escribió:
>
> Mañana lo reviso también, muchas gracias
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
>  Mensaje original 
> De: Ricardo Cárdenes 
> Fecha: 15/7/20 21:10 (GMT-03:00)
> A: La lista de python en castellano 
> Asunto: Re: [Python-es] [Consulta] max() y min()
>
> Te voy a dar una mejor:
>
> >>> from collections import Counter
> >>> cuentas = Counter(cadena.lower())
> >>> va = cuentas.get('a', 0)
> >>> ve = cuentas.get('e', 0)
> >>> va
> 10
> >>> ve
> 7
>
>
> Tras ejecutar la segunda línea, cuentas es un objeto con la misma interfaz 
> que un diccionario.
>
> Observa que pasé cadena.lower() a Counter, pensando que quieres todas las 
> vocales, no sólo las minúsculas. Adáptalo según necesites.
>
> On Wed, Jul 15, 2020 at 11:08 AM Lemarchand Barker  
> wrote:
>>
>> Lo voy a buscar y voy a ver.
>> Muchas gracias
>>
>> El mié., 15 jul. 2020 a las 18:03, Juan José Gómez Romera
>> () escribió:
>> >
>> > Hola, como uso te hace la función q necesitas, yo sin embargo recortaria 
>> > código usando count:
>> >
>> > va = cadena.count('a')
>> > ...
>> >
>> > Perdón por ser tan parco con el código, estoy desde móvil.
>> >
>> >
>> >
>> >
>> > El mié., 15 jul. 2020 22:28, Lemarchand Barker  
>> > escribió:
>> >>
>> >> Hola, vengo con otra pregunta tonta.
>> >> Estaba jugando con for, la típica de buscar máximos y mínimos, les
>> >> dejo el código:
>> >>
>> >> lista = []
>> >>
>> >> cadena = "Esto es una cadena que contiene varias letras y muchas palabras"
>> >>
>> >> vocales = ['a', 'e', 'i', 'o', 'u']
>> >>
>> >> for x in cadena:
>> >> if x == 'a':
>> >> va = va + 1
>> >> elif x == 'e':
>> >> ve = ve + 1
>> >> elif x == 'i':
>> >> vi = vi + 1
>> >> elif x == 'o':
>> >> vo = vo + 1
>> >> elif x == 'u':
>> >> vu = vu + 1
>> >>
>> >> lista.append(va)
>> >> lista.append(ve)
>> >> lista.append(vi)
>> >> lista.append(vo)
>> >> lista.append(vu)
>> >>
>> >> total = va + ve + vi + vo + vu
>> >>
>> >> max_item = max(lista, key=int)
>> >> min_item = min(lista, key=int)
>> >> print(f"Mayor: {max_item}")
>> >> print(f"Menor: {min_item}")
>> >>
>> >> Bueno mi consulta es la siguiente, está bien que haya utilizado max y
>> >> min para tratar de buscar cuál es la vocal que más se repite y menos
>> >> se repite? Pero el tema es el siguiente hay 2 vocales que se repiten
>> >> solamente 2 veces, que son: i y o. Asumo que por el orden de los
>> >> elementos en la lista el 2 que muestra se corresponde a la i.
>> >> Bueno eso es todo, consultar si está bien utilizado el max y el min,
>> >> saludos y 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


Re: [Python-es] [Consulta] max() y min()

2020-07-15 Por tema Lemarchand Barker
Lo voy a buscar y voy a ver.
Muchas gracias

El mié., 15 jul. 2020 a las 18:03, Juan José Gómez Romera
() escribió:
>
> Hola, como uso te hace la función q necesitas, yo sin embargo recortaria 
> código usando count:
>
> va = cadena.count('a')
> ...
>
> Perdón por ser tan parco con el código, estoy desde móvil.
>
>
>
>
> El mié., 15 jul. 2020 22:28, Lemarchand Barker  
> escribió:
>>
>> Hola, vengo con otra pregunta tonta.
>> Estaba jugando con for, la típica de buscar máximos y mínimos, les
>> dejo el código:
>>
>> lista = []
>>
>> cadena = "Esto es una cadena que contiene varias letras y muchas palabras"
>>
>> vocales = ['a', 'e', 'i', 'o', 'u']
>>
>> for x in cadena:
>> if x == 'a':
>> va = va + 1
>> elif x == 'e':
>> ve = ve + 1
>> elif x == 'i':
>> vi = vi + 1
>> elif x == 'o':
>> vo = vo + 1
>> elif x == 'u':
>> vu = vu + 1
>>
>> lista.append(va)
>> lista.append(ve)
>> lista.append(vi)
>> lista.append(vo)
>> lista.append(vu)
>>
>> total = va + ve + vi + vo + vu
>>
>> max_item = max(lista, key=int)
>> min_item = min(lista, key=int)
>> print(f"Mayor: {max_item}")
>> print(f"Menor: {min_item}")
>>
>> Bueno mi consulta es la siguiente, está bien que haya utilizado max y
>> min para tratar de buscar cuál es la vocal que más se repite y menos
>> se repite? Pero el tema es el siguiente hay 2 vocales que se repiten
>> solamente 2 veces, que son: i y o. Asumo que por el orden de los
>> elementos en la lista el 2 que muestra se corresponde a la i.
>> Bueno eso es todo, consultar si está bien utilizado el max y el min,
>> saludos y 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] [Consulta] max() y min()

2020-07-15 Por tema Lemarchand Barker
Hola, vengo con otra pregunta tonta.
Estaba jugando con for, la típica de buscar máximos y mínimos, les
dejo el código:

lista = []

cadena = "Esto es una cadena que contiene varias letras y muchas palabras"

vocales = ['a', 'e', 'i', 'o', 'u']

for x in cadena:
if x == 'a':
va = va + 1
elif x == 'e':
ve = ve + 1
elif x == 'i':
vi = vi + 1
elif x == 'o':
vo = vo + 1
elif x == 'u':
vu = vu + 1

lista.append(va)
lista.append(ve)
lista.append(vi)
lista.append(vo)
lista.append(vu)

total = va + ve + vi + vo + vu

max_item = max(lista, key=int)
min_item = min(lista, key=int)
print(f"Mayor: {max_item}")
print(f"Menor: {min_item}")

Bueno mi consulta es la siguiente, está bien que haya utilizado max y
min para tratar de buscar cuál es la vocal que más se repite y menos
se repite? Pero el tema es el siguiente hay 2 vocales que se repiten
solamente 2 veces, que son: i y o. Asumo que por el orden de los
elementos en la lista el 2 que muestra se corresponde a la i.
Bueno eso es todo, consultar si está bien utilizado el max y el min,
saludos y gracias.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] pass y none

2020-07-14 Por tema Lemarchand Barker
Hola, perdón la pregunta tonta pero quiero saber cuál es la diferencia
entre poner por ejemplo:
class name():
none
Y:
class name():
pass
Hay alguna diferencia realmente sustancial que me diga: en este caso usás
pass y en otro caso none?
Gracias, saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Material] Kivy

2020-07-09 Por tema Lemarchand Barker
Buenas, esta vez escribo para compartir el material que estoy usando para
aprender y entender algo de Kivy.
Acá un github con ejemplos: Kivy book examples

Esos ejemplos tienen unos 7 años aproximadamente pero sirven igual. Yo
actualmente tengo Kivi 1.10.1 y creo que la última versión es la 1.10.2.
Estos ejemplos se explican en el libro. Link: Kivy: Interactive
applications in python freepdfbook

Y acá los videos, aún no los terminé. Videos: Tutorial de Kivy en español

Espero no haber roto alguna regla de la lista y que le sirva a alguien.
Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Sobre keyerror

2020-07-08 Por tema Lemarchand Barker
Hola, estaba terminando un ejemplo en kivy y me pensé en el otro que hice,
el del clima. Y si no me equivoco fue tan simple y tonta lo que; creo; fue
la solución. El archivo se llamaba en mi caso: tiempo.py. Lo que hice fue
cambiarlo a main.py y lo probé unas cuantas veces y funcionó.
El código sigue intacto, solo cambié el nombre.
Saludos

El lun., 6 jul. 2020 a las 10:18, lemarchand8679 ()
escribió:

> Hola Sebastián, si para cada proyectito le creo una carpeta. Alguna que
> otra vez usé para debugear.
> También vi que le puedo decir a PyCharm que omita cosas que están bien y
> que me marca para que las arregle. Pero mi duda es la siguiente, si yo le
> digo que esa línea de código está bien, ese cambio aplica a lo que venga?
> Porque puede que por configurarlo así después no me marque cosas que me
> resulten importantes.
> Saludos
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
>  Mensaje original 
> De: Sebastián Arancibia 
> Fecha: 6/7/20 04:13 (GMT-03:00)
> A: La lista de python en castellano 
> Asunto: Re: [Python-es] [Consulta] Sobre keyerror
>
> Hola Verónica (y a todos),
>
> Ahora ya con las herramientas adecuadas, y ya que estás usando PyCharm, te
> recomiendo que incluyas tu desarrollo dentro de un main. Así podrás
> ejecutar y debuggear tu proyecto. Cuando incluyes todo dentro de un main
> puedes ejecutarlo con el botón "play", y arriba te sale el nombre del
> script y varios botones: play, debug, correr tests y uno de stop. El
> segundo te permite debuggear y puedes marcar puntos de quiebre al costado
> de cada linea. Abajo te salen los valores de las variables, es mucho más
> fácil a la hora de diagnosticar errores, ver los valores de las variables
> en todo momento y cosas así.
>
> [image: image.png]
>
> Como aún no logro que me funcione la api key me sigue saliendo el mismo
> error de ayer, y se cae por eso. Después investigaré más y generaré otra
> api key para ver otros errores que aparezcan.
>
> Saludos.
>
>
> On Fri, Jul 3, 2020 at 2:03 PM Alexis Roda <
> alexis.roda.villalo...@gmail.com> wrote:
>
>> Haz este cambio:
>>
>> print(complete_url)  # <<< añade esta línea
>> response = requests.get(complete_url)
>>
>>
>> Copia/pega lo que sale por pantalla.
>>
>>
>> Missatge de lemarchand8679  del dia dv., 3 de
>> jul. 2020 a les 19:40:
>>
>>> Hice como me habían comentado antes, lo de hacer print en x. Lo hice y
>>> da el erroe de 401 el cual hace referencia a la api_key. Lo revisé y parece
>>> estar correcta, está validada y todo. Probé generando otra y lo mismo;
>>> keyerror.
>>>
>>>
>>>
>>> Enviado desde mi smartphone Samsung Galaxy.
>>>
>>>
>>>  Mensaje original 
>>> De: Alexis Roda 
>>> Fecha: 3/7/20 11:19 (GMT-03:00)
>>> A: La lista de python en castellano 
>>> Asunto: Re: [Python-es] [Consulta] Sobre keyerror
>>>
>>> Tiendo a dar demasiada información y perderme en detalles. La parte
>>> relevante de mi respuesta es cuando digo que el número 404 y la cadena
>>> "404" comparan como distintos. En Python, si comparas un número (un int) y
>>> una cadena (un str) el resultado es que siempre son distintos,
>>> independientemente de su valor. Esto implica que *la rama del else
>>> jamás se ejecuta*, no importa qué código de respuesta devuelve la API,
>>> siempre se ejecuta la rama del then. Esto es un problema cuando la
>>> respuesta es no-OK y no contiene la clave "main".
>>>
>>> Lo puedes confirmar fácilmente inspeccionando el valor de x. Si estoy en
>>> lo cierto verás algo como {"cod": 123, ...} no {"cod": "123",  ...}. La
>>> confirmación definitiva sería la documentación de la API, la especificación
>>> del formato de la respuesta.
>>>
>>> Con "la forma correcta" quería decir "la forma recomendada". requests
>>> ofrece mecanismos para hacer lo mismo de forma más sencilla y robusta. Ya
>>> que se importa se me hace extraño no aprovecharlos.
>>>
>>> También te recomiendo que revises la gestión de errores, parece frágil.
>>> Imagino que si el código de respuesta es distingo de 404 no significa
>>> necesariamente que la petición ha ido bien. Confirmalo con la documentación
>>> de la API.
>>>
>>>
>>> Saludos
>>>
>>> Missatge de Lemarchand Barker  del dia dv., 3
>>> de jul. 2020 a les 13:36:
>>>
>>>> Buenas gracias a todos por sus aportes. Si, me ll

[Python-es] [Consulta] Ejemplo con kivy

2020-07-04 Por tema Lemarchand Barker
Hola, sigo con kivy y en este caso estoy con un inconveniente que no me
tira un error.
Hice un ejemplo, ejecuta y todo pero no funciona.
El código es el siguiente:
archivo.py: layouts.py

archivo.kv: layouts.kv

Imagen de lo que se tendría que ver: output.png


Como comenté, no me tira ningún mensaje de error. Probé copiar y pegar el
código y nada. Esta es mi salida:

> /usr/bin/python3.8
> /home/raiden/Programacion/kivy/robertour/cap1/emb_layout/layouts.py
> [INFO   ] [Logger  ] Record log in
> /home/raiden/.kivy/logs/kivy_20-07-04_10.txt
> [INFO   ] [Kivy] v1.10.1
> [INFO   ] [Python  ] v3.8.2 (default, Apr 27 2020, 15:53:34)
> [GCC 9.3.0]
> [INFO   ] [Factory ] 194 symbols loaded
> [INFO   ] [ImageLoaderFFPy] Using ffpyplayer 4.3.1
> [INFO   ] [Image   ] Providers: img_tex, img_dds, img_sdl2, img_pil,
> img_ffpyplayer, img_gif

Voy a seguir con los ejemplos y después vuelvo a ese para ver que puede ser.
Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Sobre keyerror

2020-07-03 Por tema Lemarchand Barker
Por o visto no fuí la única con el problema de main

El vie., 3 jul. 2020 a las 8:36, Lemarchand Barker (<
lemarchand8...@gmail.com>) escribió:

> Buenas gracias a todos por sus aportes. Si, me llamo Verónica.
> En respuesta a Alexis, puede ser una forma incorrecta de realizar la
> consulta pero cuando hice copy-paste, al probar con distintas localidades
> funcionó. Tengo que mirar la info para desarrolladores que tiene más
> detenidamente, no es larga.
> Yo al 404 lo entiendo como el de page not found, de ahí que el else te
> diga que no encontró la ciudad. No encuentra la página con la información
> de esa localidad.
>
>
>
> El vie., 3 de jul. de 2020 04:33, Alexis Roda <
> alexis.roda.villalo...@gmail.com> escribió:
>
>> Si python dice "KeyError: main" al ejecutar y = x["main"] es que x no
>> tiene la clave "main". Averigua el valor de x, tal vez te dé una pista del
>> problema.
>>
>> En el otro mensaje, al cambiar "main" por "cod" el error era "int value
>> is not subscriptable" (o algo parecido), eso nos dice que el valor asociado
>> a la clave "cod" es un número (habría que confirmarlo con la documentación
>> de la API) pero el programa lo trata como una cadena (en el if x["cod"]
>> != "404"). El número 404 y la cadena "404" comparan como distintos. No
>> sé si tiene que ver con el KeyError main pero es un error que habría que
>> corregir. Relacionado con esto, no parece buena idea asumir que si el
>> código es distinto de 404 la petición ha ido bien. Asumiendo que sean
>> códigos HTTP yo haría algo como: si cod == 200 procesamiento ok sino si
>> cod == 404 imprime "no encontrado" ... sino imprime "error desconocido".
>>
>> Me llama la atención que el script utilice el paquete requests para luego
>> acabar construyendo la URL a mano. Por otro lado la URL que construye no
>> parece muy correcta. Suponiendo que nombre_ciudad sea FOO:
>>
>> url = "http://api.openweathermap.org/data/2.5/weather?q=sp;
>> complete_url = url + "appid=" + api_key + "=sp" + nombre_ciudad
>>
>>
>> al final complete_url vale
>> http://api.openweathermap.org/data/2.5/weather?q=spappid=API_KEY=spFOO.
>> Creo que deberia ser algo mas parecido a
>> http://api.openweathermap.org/data/2.5/weather?q=FOO=API_KEY=sp
>> .
>>
>> Usando requests de forma correcta te quitas problemas:
>>
>> url = "http://api.openweathermap.org/data/2.5/weather
>> <http://api.openweathermap.org/data/2.5/weather?q=sp>"
>> response = requests.get(url, data={"q": nombre_ciudad, "lang": "sp",
>> "appid": api_key})
>>
>>
>> añadirá el ? y los & donde corresponda, codificará correctamente los
>> valores y no quedarán valores "desparejados" ni claves duplicadas.
>>
>> Visto todo esto sigo pensando que el problema es una mala petición a la
>> API que devuelve un código de error que no es gestionado correctamente.
>>
>> Respecto a que el problema se produzca cuando escribes el programa a mano
>> y que funciona si copias/pegas. En caso que no sea un error evidente en la
>> transcripción y que el valor de x no te dé ninguna pista, los IDE suelen
>> incluir alguna herramienta para comparar archivos. Comparalos y encuentra
>> que los hace diferentes y puede causar el problema.
>>
>> https://www.jetbrains.com/help/pycharm/comparing-files-and-folders.html
>>
>> Creo que es excesivo para este problema pero es otra herramienta que
>> puede ser útil.
>>
>>
>> Saludos
>>
>> Missatge de Lemarchand Barker  del dia dv., 3
>> de jul. 2020 a les 1:22:
>>
>>> Hola, el código de api key funciona, porque me registré y lo usé y
>>> funcionó.
>>> Lo de sp fue más que nada para probar, corresponde al Multilingual
>>> support. Incluso cuando hice copy-paste del código sin usar el sp,
>>> funcionaba perfecto. Lo saqué de acá: https://openweathermap.org/current.
>>> Lo del multilingual está ya casi al final de la página.
>>> La url que uso es esta: api.openweathermap.org/data/2.5/weather? que es
>>> la misma que figura en la página. Reitero, el problema me salta cada vez
>>> que copio el código de forma manual, con copy-paste ningún problema.
>>> Saludos
>>>
>>> El jue., 2 jul. 2020 a las 20:00, David Suárez vía Python-es (<
>>> python-es@python.org>) escribió:
>>>
>>>> Vero,
>>>>
>>>>

Re: [Python-es] [Consulta] Sobre keyerror

2020-07-03 Por tema Lemarchand Barker
Buenas gracias a todos por sus aportes. Si, me llamo Verónica.
En respuesta a Alexis, puede ser una forma incorrecta de realizar la
consulta pero cuando hice copy-paste, al probar con distintas localidades
funcionó. Tengo que mirar la info para desarrolladores que tiene más
detenidamente, no es larga.
Yo al 404 lo entiendo como el de page not found, de ahí que el else te diga
que no encontró la ciudad. No encuentra la página con la información de esa
localidad.



El vie., 3 de jul. de 2020 04:33, Alexis Roda <
alexis.roda.villalo...@gmail.com> escribió:

> Si python dice "KeyError: main" al ejecutar y = x["main"] es que x no
> tiene la clave "main". Averigua el valor de x, tal vez te dé una pista del
> problema.
>
> En el otro mensaje, al cambiar "main" por "cod" el error era "int value is
> not subscriptable" (o algo parecido), eso nos dice que el valor asociado a
> la clave "cod" es un número (habría que confirmarlo con la documentación de
> la API) pero el programa lo trata como una cadena (en el if x["cod"] !=
> "404"). El número 404 y la cadena "404" comparan como distintos. No sé si
> tiene que ver con el KeyError main pero es un error que habría que
> corregir. Relacionado con esto, no parece buena idea asumir que si el
> código es distinto de 404 la petición ha ido bien. Asumiendo que sean
> códigos HTTP yo haría algo como: si cod == 200 procesamiento ok sino si
> cod == 404 imprime "no encontrado" ... sino imprime "error desconocido".
>
> Me llama la atención que el script utilice el paquete requests para luego
> acabar construyendo la URL a mano. Por otro lado la URL que construye no
> parece muy correcta. Suponiendo que nombre_ciudad sea FOO:
>
> url = "http://api.openweathermap.org/data/2.5/weather?q=sp;
> complete_url = url + "appid=" + api_key + "=sp" + nombre_ciudad
>
>
> al final complete_url vale
> http://api.openweathermap.org/data/2.5/weather?q=spappid=API_KEY=spFOO.
> Creo que deberia ser algo mas parecido a
> http://api.openweathermap.org/data/2.5/weather?q=FOO=API_KEY=sp
> .
>
> Usando requests de forma correcta te quitas problemas:
>
> url = "http://api.openweathermap.org/data/2.5/weather
> <http://api.openweathermap.org/data/2.5/weather?q=sp>"
> response = requests.get(url, data={"q": nombre_ciudad, "lang": "sp",
> "appid": api_key})
>
>
> añadirá el ? y los & donde corresponda, codificará correctamente los
> valores y no quedarán valores "desparejados" ni claves duplicadas.
>
> Visto todo esto sigo pensando que el problema es una mala petición a la
> API que devuelve un código de error que no es gestionado correctamente.
>
> Respecto a que el problema se produzca cuando escribes el programa a mano
> y que funciona si copias/pegas. En caso que no sea un error evidente en la
> transcripción y que el valor de x no te dé ninguna pista, los IDE suelen
> incluir alguna herramienta para comparar archivos. Comparalos y encuentra
> que los hace diferentes y puede causar el problema.
>
> https://www.jetbrains.com/help/pycharm/comparing-files-and-folders.html
>
> Creo que es excesivo para este problema pero es otra herramienta que puede
> ser útil.
>
>
> Saludos
>
> Missatge de Lemarchand Barker  del dia dv., 3
> de jul. 2020 a les 1:22:
>
>> Hola, el código de api key funciona, porque me registré y lo usé y
>> funcionó.
>> Lo de sp fue más que nada para probar, corresponde al Multilingual
>> support. Incluso cuando hice copy-paste del código sin usar el sp,
>> funcionaba perfecto. Lo saqué de acá: https://openweathermap.org/current.
>> Lo del multilingual está ya casi al final de la página.
>> La url que uso es esta: api.openweathermap.org/data/2.5/weather? que es
>> la misma que figura en la página. Reitero, el problema me salta cada vez
>> que copio el código de forma manual, con copy-paste ningún problema.
>> Saludos
>>
>> El jue., 2 jul. 2020 a las 20:00, David Suárez vía Python-es (<
>> python-es@python.org>) escribió:
>>
>>> Vero,
>>>
>>> el problema que veo es que tienes la cadena "sp" de sobra tanto en la
>>> variable url como cuando generas complete_url y creo que no deberían ir
>>> allí, aunque no he podido checarlo por lo de la llave API.
>>>
>>> El jue., 2 de jul. de 2020 a la(s) 17:30, Lemarchand Barker (
>>> lemarchand8...@gmail.com) escribió:
>>>
>>>> Hola, este es mi código:
>>>>
>>>> import requests
>>>> import json
>>>>
>>>>

Re: [Python-es] [Consulta] Sobre keyerror

2020-07-02 Por tema Lemarchand Barker
Hola, el código de api key funciona, porque me registré y lo usé y funcionó.
Lo de sp fue más que nada para probar, corresponde al Multilingual support.
Incluso cuando hice copy-paste del código sin usar el sp, funcionaba
perfecto. Lo saqué de acá: https://openweathermap.org/current. Lo del
multilingual está ya casi al final de la página.
La url que uso es esta: api.openweathermap.org/data/2.5/weather? que es la
misma que figura en la página. Reitero, el problema me salta cada vez que
copio el código de forma manual, con copy-paste ningún problema.
Saludos

El jue., 2 jul. 2020 a las 20:00, David Suárez vía Python-es (<
python-es@python.org>) escribió:

> Vero,
>
> el problema que veo es que tienes la cadena "sp" de sobra tanto en la
> variable url como cuando generas complete_url y creo que no deberían ir
> allí, aunque no he podido checarlo por lo de la llave API.
>
> El jue., 2 de jul. de 2020 a la(s) 17:30, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Hola, este es mi código:
>>
>> import requests
>> import json
>>
>> api_key = "API_KEY"
>>
>> url = "http://api.openweathermap.org/data/2.5/weather?q=sp;
>>
>> nombre_ciudad = input("Ingrese nombre de la ciudad: ")
>>
>> complete_url = url + "appid=" + api_key + "=sp" + nombre_ciudad
>>
>> response = requests.get(complete_url)
>>
>> x = response.json()
>>
>> if x["cod"] != "404":
>>
>> y = x["main"]
>>
>> temperatura_actual = y["temp"]
>>
>> celsius = temperatura_actual - 273.15
>>
>> presion_actual = y["pressure"]
>>
>> humedad_actual = y["humidity"]
>>
>> z = x["clima"]
>>
>> descripcion = z[0]["descripcion"]
>>
>> print(f"Temperatura: {celsius}°")
>> print(f"Presión atmosférica: {presion_actual} hPa")
>> print(f"Humedad: {humedad_actual} %")
>> print(f"Descripción: {descripcion}")
>>
>> else:
>> print("Ciudad no encontrada")
>>
>> La salida es la siguiente:
>>
>> /usr/bin/python3.8 /home/raiden/Programacion/weather/weather.py
>> Ingrese nombre de la ciudad: Rosario
>> Traceback (most recent call last):
>>   File "/home/raiden/Programacion/weather/weather.py", line 18, in
>> 
>> y = x["main"]
>> KeyError: 'main'
>>
>> El código original es este:
>> Python-find-current-weather-of-any-city-using-openweathermap-api/
>> <https://www.geeksforgeeks.org/python-find-current-weather-of-any-city-using-openweathermap-api/>
>>
>> Saludos y gracias
>>
>>
>> El jue., 2 jul. 2020 a las 18:20, Gerardo Diez (<
>> gerardo.diez.gar...@gmail.com>) escribió:
>> >
>> > Hola,
>> >
>> > No soy precisamente un experto, pero yo normalmente voy poniendo prints
>> /liga por todos lados para que me vaya mostrando el contenido de las
>> cadenas.
>> >
>> > No recuerdo muy bien el funcionamiento de input pero puede ser que el
>> string que se esté incorporando lleve un salto de línea final ( \n)?
>> >
>> > Si es así mira la función strip
>> >
>> > Un saludo
>> >
>> > El jue., 2 jul. 2020 22:01, lemarchand8679 
>> escribió:
>> >>
>> >> Hola, había escrito para comentar que había solucionado el
>> inconveniente de KeyError, y es cierto en parte. Digo en parte porque si
>> escribo desde 0 para hacer algunas modificaciones, me tira ese error al
>> introducir una ciudad, y si hago un copy-paste del código funciona y la
>> verdad no se por qué, alguna idea? Gracias
>> >>
>> >>
>> >>
>> >> Enviado desde mi smartphone Samsung Galaxy.
>> >>
>> >> ___
>> >> 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


Re: [Python-es] [Consulta] Sobre keyerror

2020-07-02 Por tema Lemarchand Barker
Hola, este es mi código:

import requests
import json

api_key = "API_KEY"

url = "http://api.openweathermap.org/data/2.5/weather?q=sp;

nombre_ciudad = input("Ingrese nombre de la ciudad: ")

complete_url = url + "appid=" + api_key + "=sp" + nombre_ciudad

response = requests.get(complete_url)

x = response.json()

if x["cod"] != "404":

y = x["main"]

temperatura_actual = y["temp"]

celsius = temperatura_actual - 273.15

presion_actual = y["pressure"]

humedad_actual = y["humidity"]

z = x["clima"]

descripcion = z[0]["descripcion"]

print(f"Temperatura: {celsius}°")
print(f"Presión atmosférica: {presion_actual} hPa")
print(f"Humedad: {humedad_actual} %")
print(f"Descripción: {descripcion}")

else:
print("Ciudad no encontrada")

La salida es la siguiente:

/usr/bin/python3.8 /home/raiden/Programacion/weather/weather.py
Ingrese nombre de la ciudad: Rosario
Traceback (most recent call last):
  File "/home/raiden/Programacion/weather/weather.py", line 18, in 
y = x["main"]
KeyError: 'main'

El código original es este:
Python-find-current-weather-of-any-city-using-openweathermap-api/


Saludos y gracias


El jue., 2 jul. 2020 a las 18:20, Gerardo Diez (<
gerardo.diez.gar...@gmail.com>) escribió:
>
> Hola,
>
> No soy precisamente un experto, pero yo normalmente voy poniendo prints
/liga por todos lados para que me vaya mostrando el contenido de las
cadenas.
>
> No recuerdo muy bien el funcionamiento de input pero puede ser que el
string que se esté incorporando lleve un salto de línea final ( \n)?
>
> Si es así mira la función strip
>
> Un saludo
>
> El jue., 2 jul. 2020 22:01, lemarchand8679 
escribió:
>>
>> Hola, había escrito para comentar que había solucionado el inconveniente
de KeyError, y es cierto en parte. Digo en parte porque si escribo desde 0
para hacer algunas modificaciones, me tira ese error al introducir una
ciudad, y si hago un copy-paste del código funciona y la verdad no se por
qué, alguna idea? Gracias
>>
>>
>>
>> Enviado desde mi smartphone Samsung Galaxy.
>>
>> ___
>> 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


Re: [Python-es] [Consulta] KeyError: 'main'

2020-07-02 Por tema Lemarchand Barker
Ya logré solucionarlo, ahora tengo que cambiar para que la temperatura la
muestre en celsius.
Cerrado :)

El jue., 2 jul. 2020 a las 11:44, Lemarchand Barker (<
lemarchand8...@gmail.com>) escribió:

> Hola, estoy teniendo un inconveniente a la hora de correr un programa.
>
> El código es este:
>
> base_url = "http://api.openweathermap.org/data/2.5/weather?q=;
>
> city_name = input("Ingrese nombre de la ciudad: ")
>
> complete_url = base_url + "appid=" + api_key + "=" + city_name
>
> response = requests.get(complete_url)
>
> x = response.json()
>
> if x["cod"] != "404":
> y = x['main']
> # y = x["cod"]
> current_temperature = y["temp"]
> current_pressure = y["pressure"]
> current_humidiy = y["humidity"]
> z = x["weather"]
> weather_description = z[0]["description"]
>
> print(
> "Temperature (in centigrade unit) = " +
> str(current_temperature) +
> "\n atmospheric pressure (in hPa unit) = " +
> str(current_pressure) +
> "\n humidity (in percentage) = " +
> str(current_humidiy) +
> "\n description = " +
> str(weather_description)
> )
> else:
> print(" Ciudad no encontrada ")
>
> El problema se da cuando intento ingresar una ciudad. Probé con la mía
> Corrientes (Argentina) y me da KeyError, probé con otra localidad y es lo
> mismo.
> La salida es la siguiente:
>
> /usr/bin/python3.8 /home/raiden/Programacion/weather/tiempo.py
> Ingrese nombre de la ciudad: London
> Traceback (most recent call last):
>   File "/home/raiden/Programacion/weather/tiempo.py", line 18, in 
> y = x['main']
> KeyError: 'main'
>
> Leí que generalmente ese error se debe a que no encuentra el path o no
> existe. Probé cambiar en la línea 18 el "main" por "cod" y el error ya es
> otro. Es el siguiente:
>
> /usr/bin/python3.8 /home/raiden/Programacion/weather/tiempo.py
> Ingrese nombre de la ciudad: London
> Traceback (most recent call last):
>   File "/home/raiden/Programacion/weather/tiempo.py", line 20, in 
> current_temperature = y["temp"]
> TypeError: 'int' object is not subscriptable
>
> Asi que por eso comenté la línea como se ve en el código, porque me parece
> que mi problema es con main.
>
> El código original es este:
> Python-find-current-weather-of-any-city-using-openweathermap-api/
> <https://www.geeksforgeeks.org/python-find-current-weather-of-any-city-using-openweathermap-api/>
>
> Saludos
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] KeyError: 'main'

2020-07-02 Por tema Lemarchand Barker
Hola, estoy teniendo un inconveniente a la hora de correr un programa.

El código es este:

base_url = "http://api.openweathermap.org/data/2.5/weather?q=;

city_name = input("Ingrese nombre de la ciudad: ")

complete_url = base_url + "appid=" + api_key + "=" + city_name

response = requests.get(complete_url)

x = response.json()

if x["cod"] != "404":
y = x['main']
# y = x["cod"]
current_temperature = y["temp"]
current_pressure = y["pressure"]
current_humidiy = y["humidity"]
z = x["weather"]
weather_description = z[0]["description"]

print(
"Temperature (in centigrade unit) = " +
str(current_temperature) +
"\n atmospheric pressure (in hPa unit) = " +
str(current_pressure) +
"\n humidity (in percentage) = " +
str(current_humidiy) +
"\n description = " +
str(weather_description)
)
else:
print(" Ciudad no encontrada ")

El problema se da cuando intento ingresar una ciudad. Probé con la mía
Corrientes (Argentina) y me da KeyError, probé con otra localidad y es lo
mismo.
La salida es la siguiente:

/usr/bin/python3.8 /home/raiden/Programacion/weather/tiempo.py
Ingrese nombre de la ciudad: London
Traceback (most recent call last):
  File "/home/raiden/Programacion/weather/tiempo.py", line 18, in 
y = x['main']
KeyError: 'main'

Leí que generalmente ese error se debe a que no encuentra el path o no
existe. Probé cambiar en la línea 18 el "main" por "cod" y el error ya es
otro. Es el siguiente:

/usr/bin/python3.8 /home/raiden/Programacion/weather/tiempo.py
Ingrese nombre de la ciudad: London
Traceback (most recent call last):
  File "/home/raiden/Programacion/weather/tiempo.py", line 20, in 
current_temperature = y["temp"]
TypeError: 'int' object is not subscriptable

Asi que por eso comenté la línea como se ve en el código, porque me parece
que mi problema es con main.

El código original es este:
Python-find-current-weather-of-any-city-using-openweathermap-api/


Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Ide y PEP8: E402

2020-06-27 Por tema Lemarchand Barker
Perfecto, ahora lo miro y si funciona cierro el tema.
Muchas gracias

El sáb., 27 de jun. de 2020 13:46, Alexis Roda <
alexis.roda.villalo...@gmail.com> escribió:

> El PEP 402 al que enlazas no tiene que ver con el error 402 del *linter*.
>
> En https://www.python.org/dev/peps/pep-0008/#imports encontrarás las
> recomendaciones de PEP8 relacionadas con los import. La que te afecta es
> la segunda:
>
> *Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.*
>
>
> En tu caso tienes una instrucción no-import  (el require) en medio del
> bloque de imports, lo que viola la recomendación anterior, de ahí el error
> 402. PyCharm solo te informa resaltando el error.
>
>
>
> Saludos
>
>
> Missatge de Lemarchand Barker  del dia ds., 27
> de juny 2020 a les 18:13:
>
>> Que bobeta se me pasó el ide, es PyCharm 2020.1 y si, tiene para
>> silenciar.
>> Si, se que el pep8 es la guía de estilo, la leí pero la E402 era la que
>> me había costado conseguir. Como mencioné anteriormente, habla sobre los
>> módulos: https://www.python.org/dev/peps/pep-0402/
>>
>> Si bien el resaltado no me molesta ni afecta al funcionamiento del
>> programa, es más que nada para entender, o tal vez es algo de la
>> configuración del ide.
>>
>> Kivy es una biblioteca de Python y se usa para crear aplicaciones móviles
>> y de escritorio. Quiero probar para escritorio algo simple como una
>> calculadora, como para ir aprendiendo un poco más. Me pasé a esta porque
>> Tkinter mucho de apariencia no me gusta y Qt5 puede que lo vuelva a ver
>> mucho más adelante.
>> Gracias
>>
>> El sáb., 27 de jun. de 2020 12:55, Alexis Roda <
>> alexis.roda.villalo...@gmail.com> escribió:
>>
>>> Hola,
>>>
>>> PEP8 es una guía de estilo. Puedes seguir aquellas recomendaciones que
>>> tengan sentido en tu proyecto e ignorar el resto.
>>>
>>> No conozco kivy, pero me da la sensación que no es posible mover los
>>> import antes del require. Por tanto en tu caso puedes ignorar este
>>> error.
>>>
>>> No dices que IDE utilizas, es posible te permita silenciar
>>> cierto errores. Busca en su configuración algo relacionado con la
>>> configuración del *linter* o del análisis estático del código.
>>>
>>> También puedes probar añadiendo un comentario # NOQA al final de la
>>> línea:
>>>
>>> from kivy.app import App  # NOQA
>>>
>>> esto indica al *linter* que ignore las violaciones de PEP8 en esta
>>> línea.
>>>
>>> Posiblemente tu IDE delegue la tarea de verificar el cumplimiento de
>>> PEP8 en una herramienta externa, como por ejemplo pycodestyle o flake8.
>>> En estos enlace encontrarás su documentación:
>>>
>>> https://pycodestyle.pycqa.org/en/latest/
>>> https://flake8.pycqa.org/en/latest/
>>>
>>> Entre otras cosas documentan los códigos de error y cómo configurarlas
>>> para ignorar ciertos tipos de errores.
>>>
>>>
>>>
>>> Saludos
>>>
>>>
>>> Missatge de Lemarchand Barker  del dia ds.,
>>> 27 de juny 2020 a les 17:08:
>>>
>>>> Hola chicos, en el ide como bien dice el título me figura E402 module
>>>> level import not at top of file. Si bien no es un error y ejecuta sin
>>>> problemas, estuve un montón para encontrar el E402 y habla de los módulos,
>>>> la verdad no se cómo hacer para que deje de resaltar.
>>>> Les adjunto una imagen para que vean.
>>>> 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


Re: [Python-es] [Consulta] Ide y PEP8: E402

2020-06-27 Por tema Lemarchand Barker
Que bobeta se me pasó el ide, es PyCharm 2020.1 y si, tiene para silenciar.
Si, se que el pep8 es la guía de estilo, la leí pero la E402 era la que me
había costado conseguir. Como mencioné anteriormente, habla sobre los
módulos: https://www.python.org/dev/peps/pep-0402/

Si bien el resaltado no me molesta ni afecta al funcionamiento del
programa, es más que nada para entender, o tal vez es algo de la
configuración del ide.

Kivy es una biblioteca de Python y se usa para crear aplicaciones móviles y
de escritorio. Quiero probar para escritorio algo simple como una
calculadora, como para ir aprendiendo un poco más. Me pasé a esta porque
Tkinter mucho de apariencia no me gusta y Qt5 puede que lo vuelva a ver
mucho más adelante.
Gracias

El sáb., 27 de jun. de 2020 12:55, Alexis Roda <
alexis.roda.villalo...@gmail.com> escribió:

> Hola,
>
> PEP8 es una guía de estilo. Puedes seguir aquellas recomendaciones que
> tengan sentido en tu proyecto e ignorar el resto.
>
> No conozco kivy, pero me da la sensación que no es posible mover los
> import antes del require. Por tanto en tu caso puedes ignorar este error.
>
> No dices que IDE utilizas, es posible te permita silenciar cierto errores.
> Busca en su configuración algo relacionado con la configuración del
> *linter* o del análisis estático del código.
>
> También puedes probar añadiendo un comentario # NOQA al final de la línea:
>
> from kivy.app import App  # NOQA
>
> esto indica al *linter* que ignore las violaciones de PEP8 en esta línea.
>
> Posiblemente tu IDE delegue la tarea de verificar el cumplimiento de PEP8
> en una herramienta externa, como por ejemplo pycodestyle o flake8. En
> estos enlace encontrarás su documentación:
>
> https://pycodestyle.pycqa.org/en/latest/
> https://flake8.pycqa.org/en/latest/
>
> Entre otras cosas documentan los códigos de error y cómo configurarlas
> para ignorar ciertos tipos de errores.
>
>
>
> Saludos
>
>
> Missatge de Lemarchand Barker  del dia ds., 27
> de juny 2020 a les 17:08:
>
>> Hola chicos, en el ide como bien dice el título me figura E402 module
>> level import not at top of file. Si bien no es un error y ejecuta sin
>> problemas, estuve un montón para encontrar el E402 y habla de los módulos,
>> la verdad no se cómo hacer para que deje de resaltar.
>> Les adjunto una imagen para que vean.
>> 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] [Consulta] Ide y PEP8: E402

2020-06-27 Por tema Lemarchand Barker
Hola chicos, en el ide como bien dice el título me figura E402 module
level import not at top of file. Si bien no es un error y ejecuta sin
problemas, estuve un montón para encontrar el E402 y habla de los módulos,
la verdad no se cómo hacer para que deje de resaltar.
Les adjunto una imagen para que vean.
Gracias
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] Kivi, archivo .kv

2020-06-23 Por tema Lemarchand Barker
Hola, estoy viendo a ver si puedo amigarme con algún framework. Si bien uso
algo básico de tkinter, estoy viendo kivy y tengo una duda que es sencilla.
Tengo el código en .py y ahora siguiendo el tuto tuve que crear un archivo
.kv, mi pregunta es sobre esto, el .kv; a grandes rasgos; sería como la
hoja de estilo del html? Gracias
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Progreso] Reproducción de video con opencv

2020-06-22 Por tema Lemarchand Barker
De lujo, muchas gracias David 

El lun., 22 jun. 2020 a las 12:40, David Suárez vía Python-es (<
python-es@python.org>) escribió:

> Hola de nuevo,
>
> mira, con Pygame puedes hacer bastante fácilmente lo de la reproducción de
> video a framebuffer. Te dejo acá dos ligas:
>
>-
>
> http://bluegalaxy.info/codewalk/2018/08/29/python-how-to-play-a-video-with-sound-in-pygame/
>-
>
> https://learn.adafruit.com/pi-video-output-using-pygame/pointing-pygame-to-the-framebuffer
>
> Saludos
>
> El lun., 22 de jun. de 2020 a la(s) 09:29, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Gracias chicos, por lo que estoy viendo es complicado lo que quiero
>> hacer. No se si posible o no pero si bastante complicado y con mi poco
>> conocimiento en python y derivados se me hace más cuesta arriba todo.
>> Antes logré hacer la reproducción del video transformado a texto y tenía
>> sonido. Lo vi en un blog, lo probé y funcionó.
>> Veré que hago sino hacer momentáneamente otra cosa mucho más simple para
>> ir tomando más confianza y adquirir más conocimientos y ganar más
>> experiencia.
>> Hace unas semanas terminé una calculadora para ejecutarla en la terminal
>> y creo que funciona bien.
>> Les comparto el código para el que quiera verla: Calculadora
>> <https://pastebin.com/jkBLpZiH>
>> Pido disculpas por mi código, seguro no es muy visual ni limpio ni
>> prolijo.
>> Gracias
>>
>> El lun., 22 jun. 2020 a las 11:08, kikocorreoso vía Python-es (<
>> python-es@python.org>) escribió:
>>
>>>
>>>
>>>
>>> Sent with ProtonMail <https://protonmail.com> Secure Email.
>>>
>>> ‐‐‐ Original Message ‐‐‐
>>> On Monday, 22 de June de 2020 14:12, Lemarchand Barker <
>>> lemarchand8...@gmail.com> wrote:
>>>
>>> Hola cómo me habían aconsejado antes, para reproducir un video que use
>>> opencv.
>>> Busqué y me encontré con un código que me permitió ejecutarlo pero sin
>>> sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la
>>> imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se
>>> escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi
>>> con opencv.
>>>
>>> Lo de CV es por computer vision. Es una biblioteca para tratar con
>>> imágenes pero no con sonido.
>>>
>>> Si bien creo que me estoy acercando a lo que necesito no es precisamente
>>> lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver
>>> el video, sino que corra en la misma terminal que lo ejecuto, si esto no es
>>> posible o ya es muy complejo, no tiene mucho sentido seguir porque hay
>>> miles de reproductores muy buenos.
>>>
>>>
>>> En una terminal se usa texto. Lo que te mandó lasizoillo te permite
>>> transformar el vídeo en texto y verlo en una terminal. Si usas openCV
>>> puedes tratar las imágenes pero luego tendrías que usar algo para el audio
>>> y que esté sincronizado con las 'imágenes' (¿ffmpeg?).
>>>
>>> Puedes echarle un ojo a este enlace a ver si te da ideas:
>>> https://unix.stackexchange.com/a/160221
>>>
>>> Saludos y gracias a todos y sobre todo por la paciencia
>>>
>>> PS: Esta vez no adjunto imagen porque por lo visto eso genera que el
>>> mail sea retenido
>>> PS2: Probé pasar el video mp4 a avi y lo reproduce pero sin sonido.
>>> Debería probar con un video avi directo
>>>
>>> Saludos a todos y 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


Re: [Python-es] [Progreso] Reproducción de video con opencv

2020-06-22 Por tema Lemarchand Barker
Gracias chicos, por lo que estoy viendo es complicado lo que quiero hacer.
No se si posible o no pero si bastante complicado y con mi poco
conocimiento en python y derivados se me hace más cuesta arriba todo.
Antes logré hacer la reproducción del video transformado a texto y tenía
sonido. Lo vi en un blog, lo probé y funcionó.
Veré que hago sino hacer momentáneamente otra cosa mucho más simple para ir
tomando más confianza y adquirir más conocimientos y ganar más experiencia.
Hace unas semanas terminé una calculadora para ejecutarla en la terminal y
creo que funciona bien.
Les comparto el código para el que quiera verla: Calculadora
<https://pastebin.com/jkBLpZiH>
Pido disculpas por mi código, seguro no es muy visual ni limpio ni prolijo.
Gracias

El lun., 22 jun. 2020 a las 11:08, kikocorreoso vía Python-es (<
python-es@python.org>) escribió:

>
>
>
> Sent with ProtonMail <https://protonmail.com> Secure Email.
>
> ‐‐‐ Original Message ‐‐‐
> On Monday, 22 de June de 2020 14:12, Lemarchand Barker <
> lemarchand8...@gmail.com> wrote:
>
> Hola cómo me habían aconsejado antes, para reproducir un video que use
> opencv.
> Busqué y me encontré con un código que me permitió ejecutarlo pero sin
> sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la
> imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se
> escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi
> con opencv.
>
> Lo de CV es por computer vision. Es una biblioteca para tratar con
> imágenes pero no con sonido.
>
> Si bien creo que me estoy acercando a lo que necesito no es precisamente
> lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver
> el video, sino que corra en la misma terminal que lo ejecuto, si esto no es
> posible o ya es muy complejo, no tiene mucho sentido seguir porque hay
> miles de reproductores muy buenos.
>
>
> En una terminal se usa texto. Lo que te mandó lasizoillo te permite
> transformar el vídeo en texto y verlo en una terminal. Si usas openCV
> puedes tratar las imágenes pero luego tendrías que usar algo para el audio
> y que esté sincronizado con las 'imágenes' (¿ffmpeg?).
>
> Puedes echarle un ojo a este enlace a ver si te da ideas:
> https://unix.stackexchange.com/a/160221
>
> Saludos y gracias a todos y sobre todo por la paciencia
>
> PS: Esta vez no adjunto imagen porque por lo visto eso genera que el mail
> sea retenido
> PS2: Probé pasar el video mp4 a avi y lo reproduce pero sin sonido.
> Debería probar con un video avi directo
>
> Saludos a todos y 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] [Progreso] Reproducción de video con opencv

2020-06-22 Por tema Lemarchand Barker
Hola cómo me habían aconsejado antes, para reproducir un video que use
opencv.
Busqué y me encontré con un código que me permitió ejecutarlo pero sin
sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la
imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se
escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi
con opencv.
Si bien creo que me estoy acercando a lo que necesito no es precisamente lo
que quiero, mi idea es en lo posible que no abra una nueva ventana y ver el
video, sino que corra en la misma terminal que lo ejecuto, si esto no es
posible o ya es muy complejo, no tiene mucho sentido seguir porque hay
miles de reproductores muy buenos.
Saludos y gracias a todos y sobre todo por la paciencia

PS: Esta vez no adjunto imagen porque por lo visto eso genera que el mail
sea retenido
PS2: Probé pasar el video mp4 a avi y lo reproduce pero sin sonido. Debería
probar con un video avi directo

Saludos a todos y gracias
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] Punto fijo [SOLUCIONADO]

2020-06-21 Por tema Lemarchand Barker
Al parecer el problema; en windows; era que daba mensajes de error y no se
por qué, pero se lo solucionó creando un proyecto nuevo en PyCharm y
haciendo un copy paste del código, y ahí funcionó.
Saludos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Consulta] Punto fijo

2020-06-20 Por tema Lemarchand Barker
Hola, esta vez les hago una consulta totalmente distinta a las anteriores.
Esta es sobre un punto fijo.
El código corre perfecto y me muestra la gráfica que se espera que haga,
sin embargo me tira el siguiente mensaje:
/usr/bin/python3.8 /home/raiden/Programacion/Maigo/test.py
2.5
Formato: 2.5
resize 1.4: 0.5
q4 x q4 = 0.25
/home/raiden/Programacion/Maigo/test.py:93: *RuntimeWarning: divide by zero
encountered in log   S1_fp = numpy.log(abs(fft(s1_fp)))*

El código lo tengo en pastebin: Punto fijo 
Las búsquedas me dicen que es muy probable que sea numpy, pero no logro dar
con el error. Para una mayor y mejor explicación les adjunto el mail con el
cual me lo enviaron:

Hasta donde sabía, ambos pudieron instalarse la librería fpbinary, no?
Les adjunto un script de python para punto fijo y una función para generar
una señal senoidal (creo que esta última ya la tenía hecha).
Para que funcione  tienen que poner dos cosas en la misma carpeta así el
script sabe de donde sacar el include.
Miren un poco como funciona la librería de punto fijo y traten de entender
cómo está armado todo el script. Es clave esta línea
*# convierto la señal a punto fijo*
*s1_fp = [fpgen(x) for x in s1]*
En s1 tengo guardada la señal en float, y para convertirla a punto fijo,
llamo a fpgen con cada valor, que devuelve el mismo valor pero en punto
fijo (está definida al principio del archivo). Esta estructura es típica de
python, aunque C++ tiene algo parecido con el *for/in*. En este caso, el
"for x in s1" recorre el array s1 (en python puede ir cualquier objeto
iterativo), y devuelve ese valor en x. Para cada valor de x, llamo a
fpgen(x), con eso convierto a punto fijo, y lo guardo en el array. Esto
último se hace porque toda la expresión está entre corchetes, así cada
valor de salida se guarda ordenado en un array.
Bueno, les pido que puedan ejecutar y entender este script. En caso que lo
decodifiquen bien, pueden intentar resolver los ejercicios de la guía de
punto fijo, que originalmente están para matlab. Básicamente sería correr
este script con diferentes resoluciones.


Ese  es el mensaje del correo. Él se refiere a que hay una pequeña función
que se llama mi_sen() la cual pasa una serie de parámetros. Ese script
estaba solo en otro fichero donde se importaba math y numpy. Cómo mi ide
Pycharm 2020.1 me resaltaba justo esa línea dónde la importaba en el
fichero principal ese módulo, lo que hice fue comentar la línea de import y
puse esa función dentro del fichero principal. Pero sigo con ese problema
del RuntimeWarning y no se qué puede ser.
Muchas gracias
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Consulta] Reproducir video en python 3

2020-06-19 Por tema Lemarchand Barker
Hola Javi, me dijiste algo que inconscientemente no quería saber y era
sobre el tema de bindings, pero me arriesgué a preguntar ya que hace unas
semanas atrás había leído en stackover un comando que permitía reproducir
mp3 en la terminal en el intérprete de python e "ingenuamente" quería creer
que era posible hacer algo así con un video.
La verdad me olvidé de mplayer, y es prácticamente el motor de varios de
los reproductores. Tendría que investigar.
En realidad no puedo prometer mucho respecto a este proyecto / idea porque
recién estoy arrancando y me faltan muchísimos conocimientos y base,
entonces esto hace que me disperse y vaya a leer sobre eso y después me
cuesta retomar. Ahora por ejemplo estoy leyendo para tratar de entender y
poder manejar el tema de logging para crear un archivo y registrar todo lo
que pasa.
Voy a investigar lo que me dejaste, muchas gracias

El vie., 19 jun. 2020 a las 3:43, lasizoillo ()
escribió:

> Buenas,
>
> El vie., 19 jun. 2020 a las 0:48, Lemarchand Barker (<
> lemarchand8...@gmail.com>) escribió:
>
>> Hola mi problema es el siguiente, quiero reproducir un video con
>> extensión mp4 con python pero desde la consola.
>> Hasta ahora lo que logré hacer es que el usuario vea la ruta en la que
>> está y que pueda ingresar la ruta a la cuál desea ir. Una vez en ese lugar
>> se procede a listar los elementos contenidos en ese directorio, ahora lo
>> que me falta es encontrar una forma de reproducirlo.
>> Busqué pero todo o que encuentro es la forma de hacerlo pero con un
>> entorno gráfico, ya sea qt5, tkinter o cv pero no es lo que estoy
>> necesitando.
>> Agradecería una respuesta que me pueda guiar para ver por dónde seguir
>> buscando.
>>
>
> Lo que te voy a contestar no tiene relación directa con python, así que
> según avances vas a tener que buscar bindings para python. A la hora de
> reproducir videos sin GUI se me ocurren solo dos alternativas:
> - Transformar los gráficos a caracteres imprimibles en consola como hace
> cacalib (caca con toda su escatología) http://caca.zoy.org/wiki/libcaca
> - Usar framebuffer para el renderizado visual del video en consola, en
> linux está fbdev https://es.wikipedia.org/wiki/Fbdev
>
> Mplayer tiene bindings en python y soporte de framebuffer, pero no se como
> sería el código de ejemplo para juntar esas dos piezas para lo que sea que
> quieres hacer.
>
> Espero que esto te sirva de ayuda, aunque solo sea un poquito. Y si llegas
> a buen puerto me gustaría que pases la URL del proyecto para aprender un
> poquito ;-)
>
> Un saludo,
>
> Javi
>
>
>> Muchas 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


Re: [Python-es] [Presentación] y [Consulta]

2020-06-19 Por tema Lemarchand Barker
Hola Angel Lis, estoy leyendo sobre *pathlib* y teniendo en cuenta lo que
decís, me conviene usar éste por el hecho de que me olvido y dejo de lado
el tema sobre el funcionamiento y rendimiento a nivel sistema, y utilizo
solo lo que necesito.
Respecto a with, lo había visto entre todas las búsquedas que hice y
algunos lo ponían de ejemplo, pero la verdad no le di una chance. Lo voy a
implementar a ver que tal me va.
Muchas gracias

El vie., 19 jun. 2020 a las 5:44, Angel Lis () escribió:

> Hola Veronica y bienvenida,
> sobre tu cuestión, fchdir vs chdir se diferencian en que chdir cambia en
> directorio de trabajo al que tu le pases con un string,
> en cambio fchdir le pasas un descriptor de fichero, o sea que tienes que
> hacer un open del directorio y luego gestionar tu el close del descrito.
>
> A nivel de performance con esas funciones no te preocupes, no creo que sea
> algo que ejecutes constantemente.
>
> De todas maneras, si lo que quieres para trabajar con paths es
> recomendable intentar usar la pathlib (
> https://docs.python.org/3.8/library/pathlib.html ) que viene por defecto
> en python3, ya que te abstrae del sistema de ficheros (vamos que funciona
> igual en windows, linux, etc).
>
> Échale un ojo si te apetece.
>
> sobre tu función, te estás dejando un descriptor de fichero abierto, y eso
> generará errores. Si es posible intenta acostumbrarte a usar el idiomatic
> with para trabajar con descriptores, si puedes, claro.
>
> Para tu función podría quedar así:
>
> def cambio_ruta(self, cambio, cambiado):
> cambio = input("\nIngrese ruta a la que quiere cambiar: ")
> with os.open(cambio, os.O_RDONLY) as cambiado:
> os.fchdir(fd=cambiado)
> contador = 0
> for elemento in os.scandir(cambio):
> contador = contador + 1
> print(elemento)
> print(f"\nTotal de elementos: {contador}")
> # al salir del scope de with, "ejecuta" cambiado.close() automagicamente.
> return "\nDirectorio actual de trabajo: {}".format(os.getcwd())
>
>
>
> usando el with, cuando sale del scope, ejecuta el close() de "cambiado"
>
>
> Espero haberte ayudado,
>
> un saludo!
> Angel Lis ^ aka Liso
>
>
> El jue., 18 jun. 2020 a las 9:46, Lemarchand Barker (<
> lemarchand8...@gmail.com>) escribió:
>
>> Hola, me llamo Verónica y después de muchos años estoy retomando
>> nuevamente python. Estoy en Python 3.8.
>> Actualmente estoy usando Ubuntu 20.04 - Gnome, ide PyCharm 2020.1.2.
>> Como bien mencioné, estoy retomando y cuando abandoné el lenguaje,
>> tampoco es que estaba muy avanzada pero la diferencia es que ahora estoy
>> más decidida. Quiero aprender porque es un lenguaje que para mi es fácil y
>> lo puedo entender.
>> Mi consulta es respecto a lo siguiente. Si bien hay muchos reproductores
>> multimedia para elegir yo quiero hacer uno similar al moc (reproductor de
>> mp3 para consola) pero de video.
>> Lo que necesito prácticamente y para ser puntual es algo que me permita
>> ejecutar el video en cuestión.
>> Hasta ahora lo que tengo hecho es; todo por consola:
>> 1- Que la aplicación te muestre la ruta actual en la que estás:
>> *os.getcwd()*
>> 2- Que te permita ingresar la ruta a la cual querés ir:
>>
>> def cambio_ruta(self, cambio, cambiado):
>> cambio = input("\nIngrese ruta a la que quiere cambiar: ")
>> cambiado = os.open(cambio, os.O_RDONLY)
>> os.fchdir(fd=cambiado)
>> contador = 0
>> for elemento in os.scandir(cambio):
>> contador = contador + 1
>> print(elemento)
>> print(f"\nTotal de elementos: {contador}")
>> return "\nDirectorio actual de trabajo: {}".format(os.getcwd())
>>
>> Buscando como hacer para cambiar de ruta me encontré con el planteo de
>> mucha gente que quería saber cuál era la diferencia entre *chdir()* y
>> *fchdir()*. Si bien no me quedó muy en claro la diferencia la mayoría
>> coincidía en que fchdir es el que tiene mejor rendimiento. Lo mismo me pasó
>> con la opción *scandir()*, que de todas las opciones era la que mejor
>> funcionaba también respecto a rendimiento.
>> Todo este código es para ver si funcionaba, y logro cambiarme cuando
>> ingreso la ruta, e incluso puedo ver el contenido de la misma pero mi
>> problema viene cuando quiero ejecutar el archivo de video (mp4).
>> Todo lo que encontraba era con entorno gráfico como qt, tkinter, cv y no
>> es eso lo que necesito.
>> Encontré algo similar pero que reproduce mp3 que es lo que voy a probar
>> más tarde y lo encontré acá:
>> Probando pydub para

Re: [Python-es] [Off-topic] Presentación

2020-06-19 Por tema Lemarchand Barker
Gracias

El vie., 19 jun. 2020 a las 2:48, Victor Villalobos ()
escribió:

> Bienvenida.
>
> El jue., 18 jun. 2020 a las 17:12, Lemarchand Barker (<
> lemarchand8...@gmail.com>) escribió:
>
>> Hola muchas gracias.
>> Como mencioné anteriormente en la presentación, yo tengo una duda y la
>> envié en el primer mail el cual fue retenido. Quiero saber si puedo volver
>> a replantear esa misma duda en otro hilo y voy a intentar ser un poco más
>> concisa respecto al planteo porque no se bien porqué el mail no pasó.
>> Gracias
>>
>> El jue., 18 jun. 2020 a las 18:07, lesthack ()
>> escribió:
>>
>>> Hola Verónica,
>>>
>>> Bienvenida a la lista !
>>>
>>> El jue., 18 de jun. de 2020 a la(s) 15:56, Lemarchand Barker (
>>> lemarchand8...@gmail.com) escribió:
>>>
>>>> Hola me llamo Verónica y después de mucho tiempo estoy retomando python.
>>>> Anteriormente envié un mail, el cual me figuró como retenido y que está
>>>> en espera de ser aprobado o no, y que esto es debido a que lo envié a una
>>>> lista moderada.
>>>> Espero que sea aprobado pronto y de ser así, se verá la inquietud que
>>>> hice.
>>>> Saludos a todos
>>>> ___
>>>> Python-es mailing list
>>>> Python-es@python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>>
>>>
>>>
>>> --
>>> *Jorge Hernández*
>>> *:: Software Developer*
>>> *:: jorgeluis.com.mx <https://jorgeluis.com.mx/>*
>>> ___
>>> 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] [Consulta] Reproducir video en python 3

2020-06-18 Por tema Lemarchand Barker
Hola mi problema es el siguiente, quiero reproducir un video con extensión
mp4 con python pero desde la consola.
Hasta ahora lo que logré hacer es que el usuario vea la ruta en la que está
y que pueda ingresar la ruta a la cuál desea ir. Una vez en ese lugar se
procede a listar los elementos contenidos en ese directorio, ahora lo que
me falta es encontrar una forma de reproducirlo.
Busqué pero todo o que encuentro es la forma de hacerlo pero con un entorno
gráfico, ya sea qt5, tkinter o cv pero no es lo que estoy necesitando.
Agradecería una respuesta que me pueda guiar para ver por dónde seguir
buscando.
Muchas gracias
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] [Off-topic] Presentación

2020-06-18 Por tema Lemarchand Barker
Hola muchas gracias.
Como mencioné anteriormente en la presentación, yo tengo una duda y la
envié en el primer mail el cual fue retenido. Quiero saber si puedo volver
a replantear esa misma duda en otro hilo y voy a intentar ser un poco más
concisa respecto al planteo porque no se bien porqué el mail no pasó.
Gracias

El jue., 18 jun. 2020 a las 18:07, lesthack () escribió:

> Hola Verónica,
>
> Bienvenida a la lista !
>
> El jue., 18 de jun. de 2020 a la(s) 15:56, Lemarchand Barker (
> lemarchand8...@gmail.com) escribió:
>
>> Hola me llamo Verónica y después de mucho tiempo estoy retomando python.
>> Anteriormente envié un mail, el cual me figuró como retenido y que está
>> en espera de ser aprobado o no, y que esto es debido a que lo envié a una
>> lista moderada.
>> Espero que sea aprobado pronto y de ser así, se verá la inquietud que
>> hice.
>> Saludos a todos
>> ___
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>>
>
>
> --
> *Jorge Hernández*
> *:: Software Developer*
> *:: jorgeluis.com.mx <https://jorgeluis.com.mx/>*
> ___
> 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] [Off-topic] Presentación

2020-06-18 Por tema Lemarchand Barker
Hola me llamo Verónica y después de mucho tiempo estoy retomando python.
Anteriormente envié un mail, el cual me figuró como retenido y que está en
espera de ser aprobado o no, y que esto es debido a que lo envié a una
lista moderada.
Espero que sea aprobado pronto y de ser así, se verá la inquietud que hice.
Saludos a todos
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] [Presentación] y [Consulta]

2020-06-18 Por tema Lemarchand Barker
Hola, me llamo Verónica y después de muchos años estoy retomando nuevamente
python. Estoy en Python 3.8.
Actualmente estoy usando Ubuntu 20.04 - Gnome, ide PyCharm 2020.1.2.
Como bien mencioné, estoy retomando y cuando abandoné el lenguaje, tampoco
es que estaba muy avanzada pero la diferencia es que ahora estoy más
decidida. Quiero aprender porque es un lenguaje que para mi es fácil y lo
puedo entender.
Mi consulta es respecto a lo siguiente. Si bien hay muchos reproductores
multimedia para elegir yo quiero hacer uno similar al moc (reproductor de
mp3 para consola) pero de video.
Lo que necesito prácticamente y para ser puntual es algo que me permita
ejecutar el video en cuestión.
Hasta ahora lo que tengo hecho es; todo por consola:
1- Que la aplicación te muestre la ruta actual en la que estás:
*os.getcwd()*
2- Que te permita ingresar la ruta a la cual querés ir:

def cambio_ruta(self, cambio, cambiado):
cambio = input("\nIngrese ruta a la que quiere cambiar: ")
cambiado = os.open(cambio, os.O_RDONLY)
os.fchdir(fd=cambiado)
contador = 0
for elemento in os.scandir(cambio):
contador = contador + 1
print(elemento)
print(f"\nTotal de elementos: {contador}")
return "\nDirectorio actual de trabajo: {}".format(os.getcwd())

Buscando como hacer para cambiar de ruta me encontré con el planteo de
mucha gente que quería saber cuál era la diferencia entre *chdir()* y
*fchdir()*. Si bien no me quedó muy en claro la diferencia la mayoría
coincidía en que fchdir es el que tiene mejor rendimiento. Lo mismo me pasó
con la opción *scandir()*, que de todas las opciones era la que mejor
funcionaba también respecto a rendimiento.
Todo este código es para ver si funcionaba, y logro cambiarme cuando
ingreso la ruta, e incluso puedo ver el contenido de la misma pero mi
problema viene cuando quiero ejecutar el archivo de video (mp4).
Todo lo que encontraba era con entorno gráfico como qt, tkinter, cv y no es
eso lo que necesito.
Encontré algo similar pero que reproduce mp3 que es lo que voy a probar más
tarde y lo encontré acá:
Probando pydub para convertir y reproducir audio

Eso es todo, y pido disculpas por mi código, seguramente se lo puede pulir
más para que quede mucho mejor, y esa es la idea más adelante.
Muchas gracias y espero me puedan ayudar.
Saludos desde Argentina
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es