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内置函数bin() oct()等实现进制转换
Dec 30 Python
python使用marshal模块序列化实例
Sep 25 Python
Python上传package到Pypi(代码简单)
Feb 06 Python
python中解析json格式文件的方法示例
May 03 Python
Python 操作文件的基本方法总结
Aug 10 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
Python中如何引入第三方模块
May 27 Python
浅析Python面向对象编程
Jul 10 Python
python实现数字炸弹游戏程序
Jul 17 Python
Django windows使用Apache实现部署流程解析
Oct 12 Python
python用分数表示矩阵的方法实例
Jan 11 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
PHP和.net中des加解密的实现方法
2013/02/27 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
python图像处理之反色实现方法
2015/05/30 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
python实现简单成绩录入系统
2019/09/19 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
opencv实现图像几何变换
2021/03/24 Python
园林施工员岗位职责
2013/12/11 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
学习雷锋倡议书
2014/04/15 职场文书
煤矿安全协议书
2014/08/20 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
银行稽核岗位职责
2015/04/13 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
python缺失值的解决方法总结
2021/06/09 Python
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis