単語の頻度を数えるためにプロジェクトをスピードアップしようとしています。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以上の各テキストファイルの新しいリストから上記の単語を数えることができると思います。簡単そうに見えますが、少し行き詰まっています。何か助けはありますか?
このような出力は素晴らしいでしょう:Filename1インフレ、ジョブ、出力3、5、1
Filename2
inflation, jobs, output
7, 2, 4
Filename3
inflation, jobs, output
9, 3, 5
ありがとう!