Hola a todos,
Bueno, les escribo porque tengo una duda con un archivo csv que quiero
analizar. Creo que mi problema es principalmente que soy novato y desconozco
algunos trucos de iteración. Bueno, vamos al problema.
Tengo un archivo de texto con la siguiente info (lo adjunto (archivo.txt)):
1 GABRIEL
1 VICTOR
1 CARLOS
2 DAMIAN
2 MARTIN
3 JUAN
4 JOSE
4 PEDRO
Básicamente lo que quiero hacer es crear una lista para cada número
(primera columna), que contenga todos los nombres que coinciden con este
número, es decir:
lista1 = ['GABRIEL', 'VICTOR', 'CARLOS']
lista2 = ['DAMIAN', 'MARTIN']
lista3 = ['JUAN']
lista4 = ['JOSE', 'PEDRO']
He escrito un script.py (lo adjunto):
#!/usr/bin/python
import csv
f = open(str("archivo.txt"), "r")
f_read = csv.reader(f, delimiter="\t")
next_id = ""
for row in f_read:
num_id = row[0]
nomb_id = row[1]
if (num_id != next_id):
nomb_id_list = []
nomb_id_list.append(nomb_id.rstrip("\n"))
next_id = num_id
else:
nomb_id_list.append(nomb_id.rstrip("\n"))
print nomb_id_list
Pero lo que obtengo es una lista para cada línea. Entonces creo que el
problema está en dónde poner el “print”, creo que me esta faltando algún
bucle más, o no sé. Seguramente esto será una tontería para ustedes.
Bueno, espero que puedan ayudarme,
Saludos
Gabriel
1 GABRIEL
1 VICTOR
1 CARLOS
2 DAMIAN
2 MARTIN
3 JUAN
4 JOSE
4 PEDRO
#!/usr/bin/python
import csv
f = open(str("archivo.txt"), "r")
f_read = csv.reader(f, delimiter="\t")
next_id = ""
for row in f_read:
num_id = row[0]
nomb_id = row[1]
if (num_id != next_id):
nomb_id_list = []
nomb_id_list.append(nomb_id.rstrip("\n"))
next_id = num_id
else:
nomb_id_list.append(nomb_id.rstrip("\n"))
print nomb_id_list
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/