python文件操作案例之统计词频

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


一、背景

  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的文件统计词频相关知识。


二、jieba用法

  jieba是Python中一个重要的第三方中文分词函数库。由于jieba库是第三方库,不是Python安装包自带的,因此,需要通过pip指令进行安装,pip安装命令如下:

C:\>pip3 install jieba

  安装完成后,可调用库中的lcut()函数进行分词,例如:

>>>import jieba
>>>jieba.lcut('我们正在努力学习Python语言')
['我们', '正在', '努力学习', 'Python', '语言']

三、统计词频案例

  例:统计《三国演义》中人物出场次数。需要自行下载一个三国演义.txt文件,或者创建一个,填写一些名字信息。

import jieba						#导入jieba库
excludes = {"将军","却说","主公","荆州","二人","不可","不能","如此"}		#词库
with open("三国演义.txt", "r")as file:
    txt =file.read()						#打开文件并读取文件内容
words = jieba.lcut(txt)					#进行分词,将结果放入words列表中
counts = {}						#定义字典用于存储词语和计数器
for word in words:						#遍历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) 			#排序
for i in range(5):						#输出前5项
    word, count = items[i]
    print ("{0:<10}{1:>5}".format(word, count))

  结果如下。

在这里插入图片描述


四、参考

1、廖雪峰的官网
2、python官网
3、Python编程案例教程


五、总结

  以上就是就是关于Python的文件统计词频相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卧龙不言

欢迎关注java基础笔记公众号

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值