所以我有两个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