Я пытаюсь ускорить мой проект, чтобы подсчитать частоты слов. У меня есть 360 + текстовых файлов, и мне нужно получить общее количество слов и количество раз, когда появляется каждое слово из другого списка слов. Я знаю, как это сделать с помощью одного текстового файла.
>>> import nltk
>>> import os
>>> os.chdir("C:\Users\Cameron\Desktop\PDF-to-txt")
>>> filename="1976.03.txt"
>>> textfile=open(filename,"r")
>>> inputString=textfile.read()
>>> word_list=re.split('\s+',file(filename).read().lower())
>>> print 'Words in text:', len(word_list)
#spits out number of words in the textfile
>>> word_list.count('inflation')
#spits out number of times 'inflation' occurs in the textfile
>>>word_list.count('jobs')
>>>word_list.count('output')
Его слишком утомительно, чтобы получить частоты "инфляции", "рабочие места", "выход" индивидуально. Могу ли я поместить эти слова в список и найти частоту всех слов в списке одновременно? В основном этот с Python.
Пример: вместо этого:
>>> word_list.count('inflation')
3
>>> word_list.count('jobs')
5
>>> word_list.count('output')
1
Я хочу сделать это (я знаю, что это не настоящий код, вот что я прошу о помощи):
>>> list1='inflation', 'jobs', 'output'
>>>word_list.count(list1)
'inflation', 'jobs', 'output'
3, 5, 1
В моем списке слов будет 10-20 терминов, поэтому мне нужно просто указать Python на список слов, чтобы получить подсчеты. Было бы неплохо, если бы результат был способен скопировать + вставить в таблицу Excel со словами в виде столбцов и частот в виде строк
Пример:
inflation, jobs, output
3, 5, 1
И, наконец, может ли кто-нибудь помочь автоматизировать это для всех текстовых файлов? Я полагаю, что я просто указываю Python на папку, и он может выполнить подсчет указанного слова из нового списка для каждого из 360 + текстовых файлов. Кажется, достаточно легко, но я немного застрял. Любая помощь?
Результат вроде бы был бы фантастическим: имя_файла1 инфляция, рабочие места, выпуск 3, 5, 1
Filename2
inflation, jobs, output
7, 2, 4
Filename3
inflation, jobs, output
9, 3, 5
Спасибо!