我有兩個CSV文件,我試圖比較。我已經閱讀過他們使用字典讀者。所以現在我有兩個CSV文件的字典(每行一個)。我想比較它們,比如當兩個元素(標題爲h1和h2的元素)相同時,比較這些字典並打印出與第二個字典相關的差異。這裏是示例csv文件。python比較來自兩個csv文件的dict閱讀器元素
csv1:
h1,h2,h3
aaa,g0,74
bjg,73,kg9
CSV_new:
h1,h2,h3,h4
aaa,g0,7,
bjg,73,kg9,ahf
我所要的輸出是這樣的,雖然不完全一樣如下圖所示,我希望它能夠打印出修改,每個字典中關於CSV_new的添加和刪除:
{h1:'aaa', h2:'g0' {h3:'74', h4:''}}
{h1:'bjg', h2:'73' {h4:''}
我的代碼,不夠發達。
import csv
f1 = "csv1.csv"
reader1 = csv.DictReader(open (f1), delimiter = ",")
for row1 in reader1:
row1['h1']
#['%s:%s' % (f, row[f]) for f in reader.fieldnames]
f2 = "CSV_new.csv"
reader2 = csv.DictReader(open (f2), delimiter = ",")
for row2 in reader2:
row2['h1']
if row1['h1'] == row2['h1']:
print row1, row2
我非常困惑你的預期輸出。 – 2015-02-06 19:55:30
我很抱歉我的糟糕解釋。我想要的只是兩個文件之間的區別,以及標題名稱。 @AdamSmith – abn 2015-02-06 19:56:59
基本上你問如何比較字典 - 它們是如何被創建的是不相關的 - 所以我建議你[搜索](http://stackoverflow.com/search?q= [python] +比較+字典)提出有關該主題的問題和答案。 – martineau 2015-02-06 21:29:55