2016-04-12 2 views
1

У меня есть текстовый файл, в котором мне нужно искать определенные 3 слова, используя Python. Например, слова являются учетной записью, онлайн и предлагают, и мне нужно подсчитать, сколько раз оно появляется в системе.Поиск слова в Python в текстовом файле

+1

Вы можете прочитать содержимое текстового файла, а затем использовать регулярные выражения для подсчета времен слова, которые вы хотите казаться – 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() 
    )) 

Вы также можете проверить, соответствуют ли слова в каждой строке.

Update

Подсчитать сколько раз каждое слово появляется в файле, наиболее эффективным способом я считаю это итерацию один раз над файлом и проверить, сколько раз каждое слово встречается в строке. Для этого выполните следующие действия:

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(), а затем incrament счетчик соответственно (скажем wordxtotal += 1)

Смежные вопросы