如何计算大文件(2 gb)中的单词频率(每行一个)?

时间:2011-08-01 09:15:44

标签: python

我正在尝试编写一个程序来创建一个2gb(大约)大小的英文单词文件。并从这2gb文件尝试使用外部排序打印单词的频率。外部排序后,它可以打印计数(频率)

1 个答案:

答案 0 :(得分:3)

Python有一个内置函数sorted,可以对迭代进行排序。但更好的是,在2.7及更高版本中,它有一个用于计算事物频率的内置集合。假设你的大文件每行有一个单词,你可以这样做:

from collections import Counter
with open(<giant-dictionary>) as words:
    counts = Counter(words)

这将需要几分钟。