怎么 利用python实现词频统计功能
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章给大家介绍怎么 利用python实现词频统计功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。功能要求这是我们老师的作业 代码中都有注释 要求 词频统计软件:1)从文本中
千家信息网最后更新 2025年02月03日怎么 利用python实现词频统计功能
这篇文章给大家介绍怎么 利用python实现词频统计功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
功能要求
这是我们老师的作业 代码中都有注释 要求 词频统计软件:
1)从文本中读入数据:(文件的输入输出)
2)不区分大小写,去除特殊字符。
3) 统计单词 例如:about :10 并统计总共多少单词
4)对单词排序。出现次数
5)输出词频最高的10个单词和次数
6)把统计结果存入文本
方法如下
1.文件的读取,区分大小写,去除特殊字符
import re def getword(): # 读取文件 f=open('read.txt','r',encoding='utf-8') # 将大写转化成小写 word=f.read().lower() # 关闭文件 f.close() #利用正则除去特殊字符 |\符+ list=re.split('\s+|\,+|\.+|\!+|\:+|\?+|\;+|\(+|\)+|\-+|\_+|\=+|\++|\"+|\、+|\/+|\{+|\}+|\"+|\:+|\。+|\"+|\[+|\]+|\【+|\】+|\-+|\%+|\"+',word) # 遍历列表 去除列表中的空格 i = 0 while i < len(list): if list[i] == '': list.remove(list[i]) i -= 1 i += 1 # for a in list: # if a == "": # list.remove(a) #用for循环的话如果存在多个空字符串 其列表会随时发生变化,导致无法正常删除空字符串 所以在使用for…in循环遍历列表时,最好不要对元素进行增删操作 # 对于others'优化 如果最后一个字符是'就将'其去掉 for i in range(len(list)): l=list[i] if list[i][-1] == "'": list[i] = list[i][:-1] return list
2. 统计,排序
from getfilewords import getword def statistics(): dict={} #定义一个空的字典,在后面的运算中逐步添加数据 words=getword() for word in words: #遍历整个列表 if word in dict.keys(): #判断当前单词是否已经存在 dict.keys()是已存进字典中的单词 # 补充:keys() 方法用于返回字典中的所有键; # values() 方法用于返回字典中所有键对应的值; #详情见Test1 dict[word]=dict[word]+1 #在当前单词的个数上加 1 else: dict[word]=1 #当前单词第一次出现时 会把单词写入dict字典里 格式为 '单词'=1#排序 w_order=sorted(dict.items(),key=lambda x:x[1],reverse=True)# print(dict.items())# dict.items()返回的是列表# 按字典集合中,每一个元组的第二个元素排列。# sorted会对dict.items()这个list进行遍历,把list中的每一个元素,也就是每一个tuple()当做x传入匿名函数lambda x:x[1],函数返回值为x[1]# reverse属性True为降序 False为升序 return w_order #返回排序后的列表
3.结果写入文本
from WordStatistics import statisticsdef writefile(): w_order=statistics() f = open('result.txt', 'w',encoding='utf-8') print("文章单词总个数:",+len(getword()),file=f) print("文章单词总个数:", +len(getword())) # 写入文件 print("词频最高的10个单词和次数",file=f) print("词频最高的10个单词和次数") w_order10=w_order[:10]#将列表的前十位提取并且遍历 输出key(单词)和values(次数) for key,values in w_order10: print(key,':',values,file=f) print(key, ':', values) #遍历列表中的所有数据 print("统计结果",file=f) for key,values in w_order: print(key,':',values,file=f) f.close()#关闭文件
4.程序入口
import os from writefile import writefile print("词频统计软件")print("正在统计中。。。")print("统计成功,结果保存到result.txt")writefile()print("程序运行结束")os.system("pause")
5.运行截图 这是需要统计的文本
运行程序
运行结果
关于怎么 利用python实现词频统计功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
单词
统计
词频
字典
文件
次数
结果
字符
文本
排序
运行
功能
最高
特殊
个数
元素
数据
文章
方法
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
查询公积金用数据库吗
登录数据库失败的原因
呼伦贝尔网络安全测试
高中毕业软件开发哪里好
卫士通 网络安全管理平台
服务器被黑龙攻击
常德网络安全知识大全
构建网络安全屏障
服务器里面服务应用怎么重启
网络安全知识普及绘画方式
云终端服务器未响应怎么处理
盈科数据库图书馆
软件开发版本英文
超s数据库
信息技术选修3网络技术课件
联想服务器代理南京
任天堂巴西服务器购买
基于微信小程序用什么软件开发
软件开发为什么需要沟通和计划
云岭网络安全知识竞赛答案
qq原始传奇手机版服务器不通
数据库18482错误处理
用友t3数据库不见了
哪些行业需要网络安全保护
中外文数据库
数据库包含的三个层次
阿里云虚拟机数据库清空
泰安精益管理软件开发
高并发数据库分离
提升数据库性能的软件