文件方式实现完整的英文词频统计实例

fo=open('/Users/ASUS/Desktop/fish.txt','r')   #调用txt文件
book=fo.read()
fo.close
book=book.lower() #字符串处理
for i in ',.?-_"':
    book=book.replace(i,' ')
words=book.split(' ')  #单词的列表
exp = {'','the','and','to','of','was','a','in','that','but','with','had','on','as','is','thought','were','then','for','could'}

dic = {}
keys = set(words)-exp  #键的集合
for w in keys:
    dic[w] = words.count(w)  #单词计数字典
 
wc = list(dic.items())  #(单词,计数)元组的列表
wc.sort(key= lambda x:x[1],reverse=True)  #列表排序

for i in range(20):  #输出top20元组
    print(wc[i])

我选用的小说是《老人与海》,从输出的结果可以看出,“old man”“boy”和“fish”是小说关键的人事物,从“said”出现的次数也可以看出这篇小说中有大量对于人物对话的描写。

posted @ 2017-09-27 21:30  011赖颖璇  阅读(127)  评论(0)    收藏  举报