使用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实现简单的考研英语高频单词统计相关推荐

  1. [附源码]计算机毕业设计Python+uniapp基于安卓的英语背单词app21a6v(程序+lw+APP+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于安卓的英语背单词app21a6v(程序+lw+APP+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置 ...

  2. 历年英语四级高频单词统计

    四级单词版wordcount! 下载运行完就可以得到最近几年四级阅读理解高频单词.也可以自己收集其他数据进行统计 github:https://github.com/xichie/pythonCode ...

  3. 恋练有词考研英语高频词汇思维导图—Unit4

    百度网盘链接: 链接:https://pan.baidu.com/s/1ZN_RXxvmNdZTVRP3io1obA  提取码:sk3e 部分截图

  4. 考研英语大纲单词E~O与常用短语

    词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 earnest 诚挚 ebb 退潮 eccentric 古怪 eclipse 黯然失色 edible 可食用 editorial 社论 eg ...

  5. 考研英语大纲单词A~D(附排序词语用代码)

    词语 词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 abdomen 腹 abide 容忍 abolish 废除 abound 大量存在 abrupt 唐突 apprehensive 忧虑 ...

  6. 考研英语大纲单词P~Z与固定搭配

    词语 意思 词语 意思 词语 意思 词语 意思 词语 意思 pace 步伐 pact 协定 paddle 划水.桨 palm 掌.棕榈树 panorama 全景 paperback 平装本 parad ...

  7. 用Python分析了1980~2015年考研英语真题词汇,原来考研英语应该这样考!

    微信改版,加星标不迷路! 用Python分析了1980~2015年考研英语真题词汇,原来考研应该这样考! 作者:阿广 概述 前言 数据介绍 实现过程 考研英语词汇统计分析 搞笑一刻 阿广说 每日问题 ...

  8. Python 分析 35 年的考研英语真题词汇,解读孤独的考研大军!

    作者 | 阿广 责编 | 郭芮 我们渐渐长大,从一开始的初生牛犊不怕虎到渐渐惧怕孤独,从一开始的单打独斗到渐渐合群躲避孤独.不巧的是,考研就是一个孤单修炼的事情,没有任何人能够去帮你,于是二十出头的我 ...

  9. 考研大纲词汇mysql下载_通过R语言统计考研英语(二)单词出现频率

    通过R语言统计考研英语(二)单词出现频率 大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇.厚厚的一本单词,真的看的头大.最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语( ...

最新文章

  1. 工厂方法模式和抽象工厂模式
  2. UNIX:描述符和文件结构
  3. java的scanner的方法_Java Scanner reset()方法
  4. LeetCode:225. 用队列实现栈
  5. 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析...
  6. Java程序设计语言基础04:数组
  7. Codejock Suite Pro for ActiveX COM Crack Xacker 大作
  8. 高负载高并发网站架构分析
  9. 二阶滤波器原理及算法程序
  10. 第五人格PC端下载以及解决打不开问题
  11. LAMP 技术简介(5)
  12. 网上一位仁兄关于项目管理的总结
  13. vscode 更新后报错 Couldn‘t start dlv dap
  14. Python 在问答频道中刷题积累到的小技巧(一)
  15. 上海期货计算机公司排名,双创实践行 ——记2017级计算机与金融工程实验班同学参观上海期货交易所...
  16. 中山培训学校python
  17. 模仿天猫商城数据库分析
  18. Qtablewidget隐藏行和列
  19. 职业经理人生涯规划设计实务
  20. STM32407 + FreeRTOS +LAN8720 +lwip 标准库 +stm32f4x7_eth

热门文章

  1. 解决无法将iso文件完整移动到centos7虚拟机中
  2. C++实现图形界面双人五子棋游戏
  3. Windows XP 用户:计算机感染震荡波 (Sasser) 蠕虫时应采取的措施(转载)
  4. 发个好玩的:椰子de鼠标键盘记录器 V1.3
  5. SWUSTOJ #978 输出利用先序遍历创建的二叉树的中序遍历序列
  6. MVC中Html.Partial, RenderPartial, Action,RenderAction 区别
  7. 鸿蒙系统手机接入点是LTE吗,手机的网络接入点里(APN)有个承载系统,那里面有LTE和eHRPD,是不是表示手机能用4G网?...
  8. Python脚本化监控 HTTP WEB服务端口状态和邮件告警
  9. 白富美为什么成了剩女?
  10. 笔记本连不上WIFI,手机可以连上,怎么回事