Python文本文件中的单词搜索

时间:2016-04-12 14:31:25

标签: python-2.7

我有一个文本文件,我需要使用Python搜索特定的3个单词。例如,单词是account,online和offer,我需要计算它在系统中出现的次数。

2 个答案:

答案 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