[Python] unire dati da due csv

Andrea Ambu andreambu a gmail.com
Sab 16 Ott 2010 13:24:41 CEST


2010/10/16 Simone Gabbriellini <simone.gabbriellini a gmail.com>:
> sulla base della prima colonna di ogni reader, che contiene il medesimo insieme di nomi univoci, vorrei creare un nuovo csv che incorpori i dati di coordReader e nodesReader.
>

Potresti essere un po' piu` specifico?

Mi sembra di capire che tu abbia tue CSV tipo:

CSV1:
nome, anni
pippo, 30
franco, 60

CSV2:
nome, capelli
pippo, 5834
franco, 312

e tu voglia come risultato:

CSV_out
nome, anni, capelli
pippo, 30, 5834
franco, 60, 312

Corretto?

in questo caso, se :
 - la prima colonna e` fatta da nomi unici
 - il numero di righe e` lo stesso
 - le righe sono nello stesso ordine

allora una soluzione potrebbe essere:

def csv_merge(csvr_a, csvr_b, csvw_out):
    for row_a, row_b in zip(csvr_a, csvr_b):
        csvw_out.writerow(row_a + row_b[1:])

csv_out = csv.writer(open('csv_out.txt', "w+"))
csv_merge(coordReader, nodesReader, csv_out)


Ciao,
Andrea


Maggiori informazioni sulla lista Python