我应该计算文档“个人文章”中所有文件中字典“d”的所有键值的频率这里,文档“个人文章”有大约20000个txt文件,文件名1,2, 3,4... 例如:假设 d[Britain]=[5,76,289] 必须返回英国在属于文档“个人文章”的文件 5.txt,76.txt,289.txt 中出现的次数,而且我还需要在同一文档中的所有文件中找到它的频率。对于同一个示例,我需要将这些值存储在另一个 d2 中,d2 必须包含 (Britain,26,1200) 其中 26 是文件 5.txt、76.txt 和 289.txt 中英国一词的频率,而 1200 是英国在所有文件中出现的频率。我是一个python新手,我尝试过的很少!请帮忙!!
import collections
import sys
import os
import re
sys.stdout=open('dictionary.txt','w')
from collections import Counter
from glob import glob
def removegarbage(text):
text=re.sub(r'\W+',' ',text)
text=text.lower()
sorted(text)
return text
folderpath='d:/individual-articles'
counter=Counter()
filepaths = glob(os.path.join(folderpath,'*.txt'))
d2={}
with open('topics.txt') as f:
d = collections.defaultdict(list)
for line in f:
value, *keys = line.strip().split('~')
for key in filter(None, keys):
d[key].append(value)
for filepath in filepaths:
with open(filepath,'r') as filehandle:
lines = filehandle.read()
words = removegarbage(lines).split()
for k in d.keys():
d2[k] = words.count(k)
for i in d2.items():
print(i)