【发布时间】:2013-06-27 18:07:53
【问题描述】:
我正在尝试在大型文本文件中搜索单词列表。我认为列表会更容易,而不是为每个单词一遍又一遍地运行命令,但我不确定如何去做。下面的脚本或多或少适用于字符串值,但我想用“dict”列表的每个值替换下面的“字符串”。
import csv
count = 0
dic = open('dictionary','r') #changed from "dict" in original post
reader = csv.reader(dic)
allRows = [row for row in reader]
with open('bigfile.log','r') in inF:
for line in inF:
if 'string' in line: #<---replace the 'string' with dict values
count += 1
count
【问题讨论】:
-
不要命名变量
dict;它掩盖了内置的。你可以只做list(reader)而不是列表组合。 -
dictionaryCSV 文件包含多少列?什么是列值?您要匹配哪个列。 -
我有几千行一列。该列表是已知垃圾邮件站点的黑名单。列表看起来像您期望的那样,spam.spam.com 或其他。 csv 文件中没有 ',' 只是 '\n'
-
你的 bigfile.log 文件呢?我们可以将其拆分为空格或类似内容以隔离域名吗?
-
删除空格?没事儿!我只关心效率和速度。