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实现百度关键词排名查询
Mar 30 Python
Python命名空间详解
Aug 18 Python
Python装饰器基础概念与用法详解
Dec 22 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
python装饰器代替set get方法实例
Dec 19 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
Python 数据科学 Matplotlib图库详解
Jul 07 Python
Python Matplotlib绘制动画的代码详解
May 30 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
js左侧三级菜单导航实例代码
2013/09/13 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
javascript中BOM基础知识总结
2017/02/14 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
简单介绍Python中的JSON使用
2015/04/28 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
通信工程毕业生求职信
2013/11/16 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
料理师求职信
2014/01/30 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
五一放假通知怎么写
2015/08/18 职场文书
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电