[Python-es] Reemplazar en columnas

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


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/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120106/1e39fcdb/attachment.html>


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