2016-04-12 23 views
1

私はPythonを使用して特定の3単語を検索する必要があるテキストファイルを持っています。たとえば、言葉は、アカウント、オンライン、オファーであり、システムに何回出現するかをカウントする必要があります。テキストファイル内のPython単語検索

+1

あなたは、テキストファイルの内容を読み、次にあなたがしたい単語が表示される回数をカウントするために正規表現を使用することができますそれに応じてカウンタをincramentう – rafaelcpalmeida

答えて

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することは、あなたが探しているものと辞書になります。

希望すると便利です。

+0

上記のコードは動作していますが、3ワードのカウントを組み合わせています。私は各単語の数が必要です – Ale

0

私は平文文書であると仮定しています。その場合、あなたはその後open('file.txt') as fとは、すべての[for] line in fを取得し、if 'word' in f.lower()をチェックしてから(wordxtotal += 1言う)

関連する問題