Zusammenführen von zwei CSV-Dateien mit Python

OK, ich habe gelesen, einige threads hier auf Stack Overflow. Ich dachte, das wäre ziemlich einfach für mich zu tun, aber ich finde, dass ich immer noch nicht, haben ein sehr gutes Verständnis von Python. Ich habe versucht, das Beispiel befindet sich auf Wie kombiniert man 2 csv-Dateien mit gängigen Spalte Wert, aber beide Dateien haben unterschiedliche Anzahl von Zeilen und das war hilfreich, aber ich habe noch nicht die Ergebnisse, die ich hoffte, zu erreichen.

Im wesentlichen habe ich 2 csv-Dateien mit einem gemeinsamen ersten Spalte. Ich möchte das Zusammenführen der 2. also

filea.csv -

Titel,Bühne,jan,feb 
verdammt,3.001,0.421,0.532 
ok,2.829,1.036,0.751 
drei,1.115,1.146,2.921 

fileb.csv -

Titel,mar,apr,Mai,jun, 
verdammt,0.631,1.321,0.951,1.751 
ok,1.001,0.247,2.456,0.3216 
drei,0.285,1.283,0.924,956 

Ausgabe.csv-Datei (nicht die, die ich bin, sondern was ich will)

Titel,Bühne,jan,feb,mar,apr,Mai,jun 
verdammt,3.001,0.421,0.532,0.631,1.321,0.951,1.751 
ok,2.829,1.036,0.751,1.001,0.247,2.456,0.3216 
drei,1.115,1.146,2.921,0.285,1.283,0.924,956 

Ausgabe.csv-Datei (die Ausgabe, die ich tatsächlich habe)

Titel,feb,Mai 
ok,0.751,2.456 
drei,2.921,0.924 
verdammt,0.532,0.951 

Den code, den ich versuchte:

'''
testing merging of 2 csv files
'''
import csv
import array
import os

with open('Z:\\Desktop\\test\\filea.csv') as f:
    r = csv.reader(f, delimiter=',')
    dict1 = {row[0]: row[3] for row in r}

with open('Z:\\Desktop\\test\\fileb.csv') as f:
    r = csv.reader(f, delimiter=',')
    #dict2 = {row[0]: row[3] for row in r}
    dict2 = {row[0:3] for row in r}

print str(dict1)
print str(dict2)

keys = set(dict1.keys() + dict2.keys())
with open('Z:\\Desktop\\test\\output.csv', 'wb') as f:
    w = csv.writer(f, delimiter=',')
    w.writerows([[key, dict1.get(key, "''"), dict2.get(key, "''")] for key in keys])

Jede Hilfe wird sehr geschätzt.

  • Können Sie beschreiben, was Sie wollen in einer einfacheren Weg,?, vielleicht sagen Sie etwas wie: ich möchte der Monat die Spalten, die zusammengeführt werden, rest Spalten von Dateix
InformationsquelleAutor Rex | 2013-04-28
Schreibe einen Kommentar