[Python-es] Numerar columnas

Kiko kikocorreoso en gmail.com
Jue Mayo 12 20:59:12 CEST 2011


El 12 de mayo de 2011 20:35, Alejandra Zavala <alito81 en gmail.com> escribió:

> Que tal...
> Tengo una duda enorme, alguien sabe como enumerar columnas?
> Tengo lo siguiente en un archivo fulanito.txt:
>
> M    0.84259    0.90549    0.39297
> A    0.79168    0.83342    0.17866
> S    0.65917    0.79865    0.10998
> W    0.64073    0.67772    0.22135
>
> Y quiero que el programa me enumere las columnas para que queden de la
> siguiente forma:
>
> 1 M    0.84259    0.90549    0.39297
> 2 A    0.79168    0.83342    0.17866
> 3 S    0.65917    0.79865    0.10998
> 4 W    0.64073    0.67772    0.22135
>
> Y así sucesivamente hasta que acabe el archivo.
> Alguien tiene alguna idea?
> Saludos!
>
> ¿Los quieres volver a guardar en un fichero con la nueva columna de
numeración o solo lo quieres representar en pantalla?

Para mostrarlo solo en pantalla una forma sería:
a = open(r'/ruta/al/fichero.txt', 'r')
for i, line in enumerate(a):
    a1, a2, a3 = line.split(' ')
    print i, a1, a2, a3
a.close()

Para guardarlo en un fichero, una forma sería:
a = open('/ruta/al/fichero.txt', 'r')
b = open('/ruta/al/fichero_con_nueva_columna.txt', 'w')
for i, line in enumerate(a):
    b.write('%d %s' % (i, line))
a.close()
b.close()
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110512/40ff18d1/attachment.html>


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