所以我有兩個CSV文件,我試圖比較並獲得類似項目的結果。 第一個文件,hosts.csv如下所示:比較兩個CSV文件並搜索相似的項目
Path Filename Size Signature
C:\ a.txt 14kb
D:\ b.txt 99kb 678910
C:\ c.txt 44kb 111213
第二個文件,masterlist.csv如下所示:
Filename Signature
b.txt 678910
x.txt 111213
b.txt 777777
c.txt 999999
正如你所看到的行不匹配和masterlist .csv總是大於hosts.csv文件。我想要搜索的唯一部分是簽名部分。我知道這看起來是這樣的:
hosts[3] == masterlist[1]
我在找,這將使我類似如下(基本hosts.csv文件與新的結果列)的解決方案:
Path Filename Size Signature RESULTS
C:\ a.txt 14kbNOT FOUND in masterlist
D:\ b.txt 99kb 678910 FOUND in masterlist (row 1)
C:\ c.txt 44kb 111213 FOUND in masterlist (row 2)
我搜索了這些帖子,發現類似於這個here,但我不太瞭解它,因爲我還在學習python。
編輯使用Python 2.6
這很不錯。使用csv.DictReader可能會更清晰,因爲您可以用'master_row ['signature']'替換'master_row [1]'。 – chmullig 2011-03-11 04:50:38
這將在每個結果後生成一個空行。 – serk 2011-03-11 05:17:36
空行問題依賴於系統。如果你在每一個結果後都得到一個空行,用'f3 = file('results.csv','wb')替換'f3 = file('results.csv','w')'行' – srgerg 2011-03-11 05:36:04