这是我们老师的作业 代码中都有注释

要求

词频统计软件:
1)从文本中读入数据:(文件的输入输出)
2)不区分大小写,去除特殊字符。
3) 统计单词 例如:about :10 并统计总共多少单词
4)对单词排序。出现次数
5)输出词频最高的10个单词和次数
6)把统计结果存入文本


1.文件的读取,区分大小写,去除特殊字符

import redef getword():# 读取文件f=open('read.txt','r',encoding='utf-8')# 将大写转化成小写word=f.read().lower()# 关闭文件f.close()#利用正则除去特殊字符   |\符+list=re.split('\s+|\,+|\.+|\!+|\:+|\?+|\;+|\(+|\)+|\-+|\_+|\=+|\++|\“+|\、+|\/+|\{+|\}+|\”+|\:+|\。+|\“+|\[+|\]+|\【+|\】+|\—+|\%+|\"+',word)# 遍历列表 去除列表中的空格i = 0while i < len(list):if list[i] == '':list.remove(list[i])i -= 1i += 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 getworddef statistics():dict={}  #定义一个空的字典,在后面的运算中逐步添加数据words=getword()for word in words: #遍历整个列表if word in dict.keys():  #判断当前单词是否已经存在 dict.keys()是已存进字典中的单词# 补充:keys() 方法用于返回字典中的所有键;# values() 方法用于返回字典中所有键对应的值;#详情见Test1dict[word]=dict[word]+1  #在当前单词的个数上加 1else: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 statistics
def 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 osfrom writefile import writefileprint("词频统计软件")
print("正在统计中。。。")
print("统计成功,结果保存到result.txt")
writefile()
print("程序运行结束")
os.system("pause")

5.运行截图

这是需要统计的文本

运行程序

运行结果

最后成功实现!

利用python实现词频统计相关推荐

  1. 利用Python进行词频统计并生成词云——以京东商城iphone13购物评论为例

    本文介绍一种快速生成关键词-词频统计-词云生成的办法,作为Python数据分析初级技能,除基本运行环境外无需其他软件或工具,且流程搭建成功后可重复利用,可极大提升相似事务的处理效率. 一.操作环境 1 ...

  2. 利用python进行词频统计_利用python做词频计算(word-count)

    主要针对英文文本做出词频计算,因为英文是用空格作为词语分割的.中文需要用到分词的库. 下面就用奥巴马的一片演讲做词频计算 1,分析的文本 speech_etxt = ''' My fellow cit ...

  3. 利用python做词频统计

    方法一:利用python字典的方式 speech_etxt = ''' My fellow citizens: I stand here today humbled by the task befor ...

  4. python 英语词频统计软件_Python数据挖掘——文本分析

    作者 | zhouyue65 来源 | 君泉计量 文本挖掘:从大量文本数据中抽取出有价值的知识,并且利用这些知识重新组织信息的过程. 一.语料库(Corpus) 语料库是我们要分析的所有文档的集合. ...

  5. hadoop使用mapreduce统计词频_hadoop利用mapreduce运行词频统计(非例程)

    1.运行环境 1.Ubuntu16.04单系统 2.hadoop-3.2.1 2.操作步骤 1.使用eclipse编写map reduce run 函数 2.导出jar包 3.将需要进行词频统计的文件 ...

  6. Python英文词频统计(哈姆雷特)程序示例

    今天继续给大家介绍Python相关知识,本文主要内容是Python英文词频统计程序示例,主要是对英文文本--<哈姆雷特>进行分词. 一.英文文本词频统计思路 想要对<哈姆雷特> ...

  7. python进行词频统计_如何利用Python进行文本词频统计

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 Python在自然语言处理这个方面,有其天然的优势: ...

  8. python 英语词频统计软件_Python实现统计英文文章词频的方法分析

    本文实例讲述了Python实现统计英文文章词频的方法.分享给大家供大家参考,具体如下: 应用介绍: 统计英文文章词频是很常见的需求,本文利用python实现. 思路分析: 1.把英文文章的每个单词放到 ...

  9. python英文词频统计代码_python实现中文和英文的词频统计功能方法汇总

    python的思维就是让我们用尽可能少的代码来解决问题.对于词频的统计,就代码层面而言,实现的方式也是有很多种的.之所以单独谈到统计词频这个问题,是因为它在统计和数据挖掘方面经常会用到,尤其是处理分类 ...

  10. python英文词频统计-Python实现统计英文文章词频的方法分析

    本文实例讲述了Python实现统计英文文章词频的方法.分享给大家供大家参考,具体如下: 应用介绍: 统计英文文章词频是很常见的需求,本文利用python实现. 思路分析: 1.把英文文章的每个单词放到 ...

最新文章

  1. php 自动测试,PHP自动化测试
  2. html js css倒计时,js+css3倒计时动画特效
  3. 警惕使用System.Environment.CurrentDirectory遇到的坑
  4. 问题 H: 方块填数(2012年蓝桥决赛第5题--dfs)
  5. 使用Properties集合存储数据,遍历取出Properties集合中的数据
  6. JavaScript 引擎和 Just-in-Time 编译概念,Hot Function 的简单介绍
  7. java oauth server_Spring OAuth2 ResourceServer外部AuthorizationServer
  8. python加载图片并显示_python OpenCV 读取并显示图像
  9. 项目中查询数据和模糊查询
  10. spring mvc使用html页面,Spring MVC静态页面
  11. Django网站管理--ModelAdmin
  12. API接口设计之RESTful软件架构风格
  13. OS篇-Bochs在Ubuntu下的安装教程
  14. 手机电视(CMMB+MBBMS)安全架构原理
  15. hdu 5455 Fang Fang 坑题
  16. 计算机网络总线型结构优,总线型拓扑结构优缺点是什么
  17. OpenWrt之DNS域名解析系统(/etc/resolv.conf)
  18. oracle函数按周,关于oracle按日周月分组统计以及next_day()函数详解
  19. html5设置全屏背景图,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
  20. 《MySQL系列》MySQL详细入门教程

热门文章

  1. uniapp实现头像上传
  2. 第一讲:经典系统的基础 课后题答案解析
  3. [python] ylgy攻略 用魔法打败魔法
  4. Android so文件理解
  5. 关于Android的.so文件你所需要知道的 - 简书
  6. DJ-ZBS2漏电继电器
  7. Mac电脑上最好的3个txt阅读器
  8. 这些开源项目 yyds
  9. 2021最新手机号正则
  10. SOMEIP报文格式部分字段概述(二)