[Python-es] Reemplazar en columnas

Juan Luis Cano Rodríguez juanlu001 en gmail.com
Vie Ene 6 21:53:47 CET 2012


Lo siento pero no acabo de entenderte del todo. Si tienes problemas con
Python, ¿por qué no escribes un algoritmo, un pseudocódigo o una receta con
los pasos definidos de lo que quieres hacer exactamente para que te podamos
ayudar mejor?

Si necesitas iterar sobre dos listas diferentes, puedes usar la función
zip()[1], como viene explicado en la documentación[2].

[1]: http://docs.python.org/library/functions.html#zip
[2]: http://docs.python.org/tutorial/datastructures.html#looping-techniques

2012/1/6 alito s <alito81 en gmail.com>

> Si, algo así. Lo había estado intentando con readlines y split, el
> problema es que no se como hacerle para que cuando venga de mi otro archivo
> reconozca la línea.
> Has de cuenta que en mi archivo que quiero reemplazar la última columna,
> con datos que provienen de otro archivo, lo que tienen en común entre ambos
> archivos es la primera columna, que se encuentra numerada.
> Por ejemplo, si tengo un dato en el segundo archivo en la línea 27, quiero
> que en el primer archivo me reemplace la línea 27 por ese dato en la última
> columna.
> Detalle, el primer archivo esta númerado de corrido en la primer columna,
> en el segundo se salta la numeración.
> Gracias.
>
> 2012/1/6 Juan Luis Cano Rodríguez <juanlu001 en gmail.com>
>
>> Hola:
>>
>> Supongo que estás intentando hacer algo parecido a esto:
>>
>> with open('data.txt', 'r+') as f:  # Se abre el fichero 'data.txt' en un
>> context manager
>>     nlines = []  # Aquí almacenaremos los datos tal y como quedarán
>> después de modificarlos
>>     lines = f.readlines()
>>     for l in lines:
>>         if condition:  # Esta condición será lo que tendrás que incluir
>>             chunks = l.split()
>>             chunks[-1] = new_value  # Se cambia el último registro por el
>> valor que quieres
>>             l = ' '.join(chunks)  # Se unen los trozos
>>         nlines.append(l)  # Se incluye la línea, modificada o no, en
>> nlines
>>
>> Y luego volver a escribir los datos de vuelta?
>>
>> 2012/1/6 alito s <alito81 en gmail.com>
>>
>>> Hola a tod en s!
>>> Iniciando el año y a dar lata de nuevo.
>>> Me gustaría saber si alguien sabe como reemplazar una columna por otra
>>> columna.
>>> Tengo un archivo como el siguiente:
>>>
>>> 10 E 0.39804 0.26261 0.19737 E 0.1731 E 0.2333 E 0.392380 0
>>> 11 S 0.42363 0.25062 0.20260 S 0.1583 S 0.1878 S 0.401904 0
>>> 12 P 0.42042 0.24929 0.19191 P 0.1048 P 0.1998 P 0.403052 0
>>> 13 Y 0.40127 0.26243 0.16593 Y 0.1162 Y 0.1635 Y 0.405571 0
>>> 14 V 0.40633 0.27085 0.14794 V 0.1554 V 0.1456 V 0.415171 0
>>> 15 M 0.39771 0.27276 0.12858 M 0.2129 M 0.1921 M 0.424976 0
>>>
>>> Y me gustaría reemplazar la última columna solo si tengo el dato en esa
>>> fila. Lo cual quedaría de la siguiente forma:
>>>
>>> 10 E 0.39804 0.26261 0.19737 E 0.1731 E 0.2333 E 0.392380 0
>>> 11 S 0.42363 0.25062 0.20260 S 0.1583 S 0.1878 S 0.401904 15.80
>>> 12 P 0.42042 0.24929 0.19191 P 0.1048 P 0.1998 P 0.403052 0
>>> 13 Y 0.40127 0.26243 0.16593 Y 0.1162 Y 0.1635 Y 0.405571 32.48
>>> 14 V 0.40633 0.27085 0.14794 V 0.1554 V 0.1456 V 0.415171 0
>>> 15 M 0.39771 0.27276 0.12858 M 0.2129 M 0.1921 M 0.424976 40.69
>>>
>>> Cabe destacar que los datos con los que quiero reemplazar esa columna
>>> vienen de otro archivo.
>>> Gracias y feliz año.
>>>
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120106/a95815f1/attachment.html>


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