您的位置:首页 > 编程语言 > Python开发

【Python】三国演义词频统计

2018-05-03 14:22 351 查看
import jieba
txt = open('C:/Users/eternal/Desktop/threekingdoms.txt','r',encoding='UTF-8').read()  #提前修改txt文件编码格式utf-8
excludes = {'将军','却说','荆州','二人','不可','不能','如此'}  #错误的名字
words = jieba.lcut(txt)
print(words)
counts = {}
for word in words:
if len(word) == 1:
continue
elif word == '诸葛亮' or word == '孔明曰':
rword = '孔明'
elif word == '关公' or word == '云长':
rword == '关羽'
elif word == '玄德' or word == '玄德曰':
rword = '刘备'
elif word == '孟德' or word == '丞相':
rword = '曹操'
else:
rword = word
counts[rword] = counts.get(rword,0) + 1
for word in excludes:
del counts[word]
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
print(items)
for i in range(10):
word,count = items[i]
print('{0:<10}{1:>5}'.format(word,count))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: