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-嵌套列表list的全面解析
Jun 08 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
python 计算两个日期相差多少个月实例代码
May 24 Python
深入理解Django的自定义过滤器
Oct 17 Python
python3 图片referer防盗链的实现方法
Mar 12 Python
Python之文字转图片方法
May 10 Python
Python标准库shutil用法实例详解
Aug 13 Python
keras输出预测值和真实值方式
Jun 27 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 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多文件上传功能实现原理及代码
2013/04/18 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
jQuery 事件队列调整方法
2009/09/18 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python中title()方法的使用简介
2015/05/20 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
行政经理岗位职责
2013/11/09 职场文书
自我评价范文
2013/12/22 职场文书
工程部部长岗位职责
2015/02/12 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android