基本上我需要计算多个文件中单词对的数量。我在一个名为 的文件中有一个单词对列表,result.txt
如下所示:
- 的
- 由
- 他们是
- 将他们分组
我想检查位于给定目录中的许多文本文件中这些对的频率,并按降序打印对序列和相应的频率。输出必须采用以下形式:
- 将他们的 205 分组
- 他们是 180
- 56个
我已经尝试了以下方法:
import os
import re
from collections import Counter
from glob import iglob
from collections import defaultdict
import itertools as it
folderpath = 'path/to/directory'
pairs=defaultdict(int)
logfile = open('result.txt', 'r')
loglist = logfile.readlines()
logfile.close()
found = False
for line in loglist:
for filepath in iglob(os.path.join(folderpath,'*.txt')):
with open(filepath,'r') as filehandle:
for pair in it.combinations(re.findall('\w+',line),2):
pairs[tuple(pair)]+=1
found=True
resultList=[pair+(occurences, ) for pair, occurences in pairs.iterkeys()]
但这并没有给我预期的结果。我将不胜感激任何帮助!