利用jieba分词,统计词频

这里选择的是 《钢铁是怎样炼成的》
第八章原文 .txt 链接

第九章原文 .txt 链接

文本和代码需在同一个目录

import jieba

excludes={"他们","我们","还有","这个","一个","时候","没有","已经","这样","什么","一样","就是"}  
#excludes 是根据运行结果自己添的,如果觉得运行结果还不够可以再添加,比如 运行结果的 “今天”
txt=open("钢铁是怎样炼成的第八章.txt","r").read()

words=jieba.lcut(txt) # 加上这个  cut_all=True 参数就显示 英文符号啦不建议使用
counts={}
for word in words:
    if len(word)==1: #排除单个汉字的分词
        continue
    elif word=="保尔" or word =="保尔柯察金":
        reword=word
    elif word=="达雅" or word =="达雅柯察金":
        reword=word
    else:
        reword=word
    counts[reword]=counts.get(reword,0)+1  #统计次数
for word in excludes: #出去语气词等
    del(counts[word])

items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)  #按 出现次数从大到小排序
for i in range(10):
  word,count =items[i]
  print("{0:<10}{1:>5}".format(word,count))

pycharm运行结果如下:
在这里插入图片描述

注意这里读取的时候可能会出错 说编码的问题
需要修一下编码格式
打开.txt文本
点击 文件 -> 另存为 选择 ANSI 格式
在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值