使用Python实现简单的考研英语高频单词统计
使用Python实现简单的词频统计
- 前言
- anaconda第三方库的安装
- 代码分享及分析
前言
此次作为一个简单demo分享,闲来试试做一个词频统计统计英语卷子单词出现的次数及频率,具体代码及分析如下。
anaconda第三方库的安装
使用pip list
查看已经安装的
没有安装的使用pip install jieba
即可安装(建议安装时使用科学上网,安装速度会非常快)
代码分享及分析
这里代码有些乱,是为了进行一些测试。最后选取效果较好的一种。使用时将你的要分析的文件直接放进1.txt文件即可,设置好路径会统计出前1000的单词,可以根据循环次数进行统计数量的设定。
import jieba
import nltk
path = 'C:Users/Admin/Desktop/1.txt'
file = open(path, encoding='gb18030', errors='ignore')
file2 = open("C:Users/Admin/Desktop/2.txt", 'w',encoding='utf-8')
file2.write(file.read())
file.close()
file2.close()
#以上代码用于文本格式的修改,避免文档中格式的种种问题,也可以读取docx等文件
excludes = {"they","their","your","this","that","from","with","which","about","should"}
#去除掉你不想要统计次数的单词
def getText():txt = open("C:Users/Admin/Desktop/2.txt", "r",encoding='utf-8').read() #读取Hamlet文本文件,并返回给txttxt = txt.lower() #将文件中的单词全部变为小写for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':txt = txt.replace(ch, " ") #将文本中特殊字符替换为空格return txt
#去除特殊符号
hamletTxt = getText()
#words = hamletTxt.split() #按照空格,将文本分割
#words = nltk.word_tokenize(hamletTxt)
words = jieba.lcut(hamletTxt)
#这里使用jieba库进行分词,也可以用上边的两者进行测试分词效果
counts = {}
for word in words:if len(word) < 7:continueelif word in excludes:continueelse:rword = wordcounts[rword] = counts.get(rword, 0) + 1
#去除单词长度在7个以下的,去除之前定义的,统计其他单词的数量
items = list(counts.items()) #将字典转换为列表,以便操作
items.sort(key=lambda x:x[1], reverse=True) # 见下面函数讲解
file2 = open("C:Users/Admin/Desktop/test2.txt","w")
for i in range(1000):word, count = items[i]#print ("{0:<10}{1:>5}{1:>5}".format(word, count,count))file2.write("{0:<20}\n".format(word))print("{0:<20}{1:>20}".format(word, count))
file2.close()
#将统计的信息打印并写入文件,这里写入时没有加入词频
下附运行结果
使用Python实现简单的考研英语高频单词统计相关推荐
- [附源码]计算机毕业设计Python+uniapp基于安卓的英语背单词app21a6v(程序+lw+APP+远程部署)
[附源码]计算机毕业设计Python+uniapp基于安卓的英语背单词app21a6v(程序+lw+APP+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置 ...
- 历年英语四级高频单词统计
四级单词版wordcount! 下载运行完就可以得到最近几年四级阅读理解高频单词.也可以自己收集其他数据进行统计 github:https://github.com/xichie/pythonCode ...
- 恋练有词考研英语高频词汇思维导图—Unit4
百度网盘链接: 链接:https://pan.baidu.com/s/1ZN_RXxvmNdZTVRP3io1obA 提取码:sk3e 部分截图
- 考研英语大纲单词E~O与常用短语
词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 earnest 诚挚 ebb 退潮 eccentric 古怪 eclipse 黯然失色 edible 可食用 editorial 社论 eg ...
- 考研英语大纲单词A~D(附排序词语用代码)
词语 词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 abdomen 腹 abide 容忍 abolish 废除 abound 大量存在 abrupt 唐突 apprehensive 忧虑 ...
- 考研英语大纲单词P~Z与固定搭配
词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 pace 步伐 pact 协定 paddle 划水.桨 palm 掌.棕榈树 panorama 全景 paperback 平装本 parad ...
- 用Python分析了1980~2015年考研英语真题词汇,原来考研英语应该这样考!
微信改版,加星标不迷路! 用Python分析了1980~2015年考研英语真题词汇,原来考研应该这样考! 作者:阿广 概述 前言 数据介绍 实现过程 考研英语词汇统计分析 搞笑一刻 阿广说 每日问题 ...
- Python 分析 35 年的考研英语真题词汇,解读孤独的考研大军!
作者 | 阿广 责编 | 郭芮 我们渐渐长大,从一开始的初生牛犊不怕虎到渐渐惧怕孤独,从一开始的单打独斗到渐渐合群躲避孤独.不巧的是,考研就是一个孤单修炼的事情,没有任何人能够去帮你,于是二十出头的我 ...
- 考研大纲词汇mysql下载_通过R语言统计考研英语(二)单词出现频率
通过R语言统计考研英语(二)单词出现频率 大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇.厚厚的一本单词,真的看的头大.最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语( ...
最新文章
- 工厂方法模式和抽象工厂模式
- UNIX:描述符和文件结构
- java的scanner的方法_Java Scanner reset()方法
- LeetCode:225. 用队列实现栈
- 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析...
- Java程序设计语言基础04:数组
- Codejock Suite Pro for ActiveX COM Crack Xacker 大作
- 高负载高并发网站架构分析
- 二阶滤波器原理及算法程序
- 第五人格PC端下载以及解决打不开问题
- LAMP 技术简介(5)
- 网上一位仁兄关于项目管理的总结
- vscode 更新后报错 Couldn‘t start dlv dap
- Python 在问答频道中刷题积累到的小技巧(一)
- 上海期货计算机公司排名,双创实践行 ——记2017级计算机与金融工程实验班同学参观上海期货交易所...
- 中山培训学校python
- 模仿天猫商城数据库分析
- Qtablewidget隐藏行和列
- 职业经理人生涯规划设计实务
- STM32407 + FreeRTOS +LAN8720 +lwip 标准库 +stm32f4x7_eth
热门文章
- 解决无法将iso文件完整移动到centos7虚拟机中
- C++实现图形界面双人五子棋游戏
- Windows XP 用户:计算机感染震荡波 (Sasser) 蠕虫时应采取的措施(转载)
- 发个好玩的:椰子de鼠标键盘记录器 V1.3
- SWUSTOJ #978 输出利用先序遍历创建的二叉树的中序遍历序列
- MVC中Html.Partial, RenderPartial, Action,RenderAction 区别
- 鸿蒙系统手机接入点是LTE吗,手机的网络接入点里(APN)有个承载系统,那里面有LTE和eHRPD,是不是表示手机能用4G网?...
- Python脚本化监控 HTTP WEB服务端口状态和邮件告警
- 白富美为什么成了剩女?
- 笔记本连不上WIFI,手机可以连上,怎么回事