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修改字典内key对应值的方法
Jul 11 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python实现朴素贝叶斯算法
Nov 19 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
python pandas 时间日期的处理实现
Jul 30 Python
Django ORM 查询管理器源码解析
Aug 05 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
详解django中Template语言
Feb 22 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
opencv深入浅出了解机器学习和深度学习
Mar 17 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
一个取得文件扩展名的函数
2006/10/09 PHP
PHP网站基础优化方法小结
2008/09/29 PHP
PHP 中关于ord($str)>0x80的详细说明
2012/09/23 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python实现挑选出来100以内的质数
2015/03/24 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
python如何定义带参数的装饰器
2018/03/20 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
奥巴马胜选演讲稿
2014/05/15 职场文书
机关搬迁方案
2014/05/18 职场文书
南京青奥会口号
2014/06/12 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书