Python汇总文件中的频率

sil*_*sta 4 python sum file frequency cpu-word

我有一个大文件(950MB),它具有以下单词和频率,每行一个:

word1 54

word2 1

word3 12

word4 3

word1 99

word4 147

word1 4

word2 6

等等...

我需要对单词的频率求和,例如word1 = 54 + 99 + 4 = 157,并将其输出到列表/文件.在Python中执行此操作的最有效方法是什么?

我试图做的是创建一个列表,每一行都是这个列表中的一个元组,从那里总结,这使我的笔记本电脑崩溃了......

Rom*_*huk 5

试试下一个:

from collections import defaultdict

d = defaultdict(int)

with open('file') as fh:
    for line in fh:
        word, count = line.split()
        d[word] += count
Run Code Online (Sandbox Code Playgroud)