約 20000 ファイルを含むドキュメント内の単語の出現頻度をカウントするコードを書いています。ドキュメント内の単語の全体的な頻度を取得できます。これまでのコードは次のとおりです。
import os
import re
import sys
sys.stdout=open('f2.txt','w')
from collections import Counter
from glob import iglob
def removegarbage(text):
text=re.sub(r'\W+',' ',text)
text=text.lower()
return text
folderpath='d:/articles-words'
counter=Counter()
for filepath in iglob(os.path.join(folderpath,'*.txt')):
with open(filepath,'r') as filehandle:
counter.update(removegarbage(filehandle.read()).split())
for word,count in counter.most_common():
print('{} {}'.format(word,count))
しかし、私は自分のカウンターを変更し、ファイルごとに 1 回だけ更新したいと考えています。つまり、カウントは、ドキュメント内のファイルでの発生または非発生に対して 0 または 1 に対応する必要があります。例:「little」という単語は、file1で3回、file45で8回発生するため、カウント値は11ではなく2である必要がありますが、現在のコードは11を示しています.