Python实现的统计文章单词次数功能示例


Posted in Python onJuly 08, 2019

本文实例讲述了Python实现的统计文章单词次数功能。分享给大家供大家参考,具体如下:

题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词。

其实就是统计一篇文章出现最多的单词,但是要去除那些常见的连词、介词和谓语动词等,代码:

#coding=utf-8
import collections
import re
import os
useless_words=('the','a','an','and','by','of','in','on','is','to')
def get_important_word(file):
  f=open(file)
  word_counter=collections.Counter()
  for line in f:
    words=re.findall('\w+',line.lower())
    word_counter.update(words)
  f.close()
  most_important_word=word_counter.most_common(1)[0][0]
  count=2
  while(most_important_word in useless_words):
    most_important_word=word_counter.most_common(count)[count-1][0]
    count+=1
  num=word_counter.most_common(count)[count-1][1]
  print 'the most important word in %s is %s,it appears %d times'%(file,most_important_word,num)
if __name__=='__main__':
  filepath='.'
  for dirpath,dirname,dirfiles in os.walk(filepath):
    for file in dirfiles:
      if os.path.splitext(file)[1]=='.txt':
        abspath=os.path.join(dirpath,file)
        if os.path.isfile(abspath):
          get_important_word(abspath)

学习笔记:

collections模块,是python内建的模块,提供了许多有用的集合类。我们这里用到了Counter类和其中的most_common()方法

Python 相关文章推荐
Python的for和break循环结构中使用else语句的技巧
May 24 Python
python目录与文件名操作例子
Aug 28 Python
python版本的仿windows计划任务工具
Apr 30 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
python redis连接 有序集合去重的代码
Aug 04 Python
使用python实现回文数的四种方法小结
Nov 24 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
教你怎么用Python生成九宫格照片
May 20 Python
详解python字符串驻留技术
May 21 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 #Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 #Python
简单了解python的内存管理机制
Jul 08 #Python
python用for循环求和的方法总结
Jul 08 #Python
python面试题之列表声明实例分析
Jul 08 #Python
python 一个figure上显示多个图像的实例
Jul 08 #Python
Python3实现汉语转换为汉语拼音
Jul 08 #Python
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
php组合排序简单实现方法
2016/10/15 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
js使用post 方式打开新窗口
2015/02/26 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
python实现定时播放mp3
2015/03/29 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python随机数分布random测试
2018/08/27 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
C#面试题问题集
2016/04/02 面试题
社团活动总结怎么写
2014/06/30 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
浅谈Python协程asyncio
2021/06/20 Python
css样式important规则的正确使用方式
2022/06/10 HTML / CSS