我有一个文本文件,我需要使用Python搜索特定的3个单词。例如,单词是account,online和offer,我需要计算它在系统中出现的次数。
答案 0 :(得分:1)
with open('fixtures/file1.csv') as f:
print len(filter(
lambda line: "account" in line or "online" in line or "offer" in line,
f.readlines()
))
您也可以直接检查单词是否在每行中。
<强>更新强>
要计算每个单词出现在文件中的次数,我找到的最有效的方法是在文件上迭代一次,并检查每行中找到的单词的次数。为此,请尝试以下方法:
keys = ('account', 'online', 'offer')
with open('fixtures/file1.csv') as f:
found = dict((k, 0) for k in keys)
for line in f.readlines():
for k in keys:
found[k] += 1 if k in line else 0
found
将成为您正在寻找的词典。
希望这有帮助!
答案 1 :(得分:0)
我假设它是纯文本文档。在这种情况下,您需要open('file.txt') as f
然后获取每个[for] line in f
并检查if 'word' in f.lower()
,然后相应地填写一个计数器(比如wordxtotal += 1
)