【发布时间】:2016-11-10 04:51:19
【问题描述】:
我有一个包含各种列的 csv (full_log.csv)。其中一列标记为“HASH”,并包含该行中显示的文件的哈希值。例如,我的列将具有以下标题:
文件名 - 哈希 - 主机名 - 日期
我需要我的 python 脚本获取另一个仅包含 1 列多个哈希值的 CSV (hashes.csv),并将哈希值与我的 full_log.csv 中的 HASH 列进行比较。
只要找到匹配项,我希望它将包含散列的整行输出到额外的 CSV (output.csv)。所以我的 output.csv 将只包含 full_log.csv 的行,其中包含在 hashes.csv 中找到的任何哈希值,如果这有意义的话。
到目前为止,我有以下内容。它适用于我在脚本中手动输入的哈希值,但现在我需要它来查看 hashes.csv 进行比较,而不是手动将哈希放入脚本中,而不是打印结果我需要将它们导出到输出.csv。
import csv
with open('full_log.csv', 'rb') as input_file1:
reader = csv.DictReader(input_file1)
rows = [row for row in reader if row ['HASH'] == 'FB7D9605D1A38E38AA4C14C6F3622E5C3C832683']
for row in rows:
print row
【问题讨论】:
-
将所有哈希值读入一个列表,然后使用
List.index()函数判断是否有任何给定的哈希值在列表中。