Il problema è che csv.reader ti ritorna un tipo di oggetto iterabile,
che non è l'ideale per fare i merge e lavorare con tabelle come vuoi
fare tu. Per me csv è una libreria da utilizzare a basso livello, ma
per lavorare con dati in forma di tabella ci sono almeno tre
alternative efficenti in
Il giorno 18 ottobre 2010 15:00, Giovanni Marco Dall'Olio
dalloli...@gmail.com ha scritto:
Un altro sistema è appoggiarsi ad un sistema SQL, ovvero caricare il
CSV con python, transformarlo in una tabella SQL (SQLite per esempio)
e fare il join tramite il DBMS... se hai grandi quantitá di
Salve Lista,
vorrei unire dati appartenenti a due csv.reader che leggo così:
coordReader = csv.reader(open('invitations-coord.txt', 'rb'), delimiter=';',
quotechar='|')
nodesReader = csv.reader(open('invitations-nodes.txt', 'rb'), delimiter=';',
quotechar='|')
sulla base della prima colonna
2010/10/16 Simone Gabbriellini simone.gabbriell...@gmail.com
Salve Lista,
Salve Simone :-)
vorrei unire dati appartenenti a due csv.reader che leggo così:
coordReader = csv.reader(open('invitations-coord.txt', 'rb'),
delimiter=';', quotechar='|')
nodesReader =
2010/10/16 Simone Gabbriellini simone.gabbriell...@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
On 16/ott/2010, at 13:24, Andrea Ambu andrea...@gmail.com wrote:
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+))
Ciao,
Grazie dell'aiuto!
Dunque le righe sono circa 500, i nomi non sono nello stesso ordine (ecco il
mio principale problema), e quello che vorrei è un csv con le colonne pari alla
somma di quelle dei due csv di partenza meno una, quella dei nomi che non
vorrei replicare.
Grazie,
Simone
Ciao,
e tu voglia come risultato:
CSV_out
nome, anni, capelli
pippo, 30, 5834
franco, 60, 312
Corretto?
è corretto, però nel mio caso la lista dei nomi nei due csv non ha lo stesso
ordine. potrei ordinarle però prima di iniziare il merge?
ciao,
simone
2010/10/16 Simone Gabbriellini simone.gabbriell...@gmail.com:
è corretto, però nel mio caso la lista dei nomi nei due csv non ha lo stesso
ordine. potrei ordinarle però prima di iniziare il merge?
No, ordinarli prende tempo, e probabilmente il doppio della memoria,
se non sono tantissime