我有下面的Python脚本,计算文本文件中的单词数:
from collections import Counter
def main():
with open(TEXT_FILE) as f:
wordscounts = Counter(f.read().split())
print(wordscounts)
以上给我:
Counter({'invoice': 10, 'USD': 8, 'order': 5})
现在,我要将这些单词添加到另一个文本文件dictionary.txt
中,例如:
invoice 10
USD 8
order 5
下一次我处理文件并检查单词频率时,例如:
Counter({'invoice': 2, 'USD': 1, 'tracking': 3})
它应该将计数加到文件中已有的单词上,并附加新的单词。
因此dictionary.txt
变为:
invoice 12
USD 9
order 5
tracking 3
如果我尝试遍历wordscount
,我只会得到实际的单词:
for index, wordcount in enumerate(wordscounts):
print(wordcount)
给我:
invoice
USD
order
但不是字数。
答案 0 :(得分:2)
您需要阅读Counter字典。小例子
from collections import Counter
wordcount_1 = Counter("an example test test test".split())
wordcount_2 = Counter("another example test".split())
for word in wordcount_1:
print(word, wordcount_1[word])
# example 1
# test 3
# an 1
如果要在内存中建立总和(如here所述),请使用
total = sum([wordcount_1, word_count_2], Counter())
答案 1 :(得分:1)
您可以使用以下方法获取实际字数:
for index, wordcount in enumerate(wordscounts):
print(wordscounts[wordcount])
打印wordcount
仅给您键,而打印wordcounts[wordcount]
给您值。