Python统计文本词汇出现次数的实例代码


Posted in Python onFebruary 27, 2020

问题描述

有时在遇到一个文本需要统计文本内词汇的次数 的时候 ,可以用一个简单的python程序来实现。

解决方案

首先需要的是一个文本文件(.txt)格式(文本内词汇以空格分隔),因为需要的是一个程序,所以要考虑如何将文件打开而不是采用复制粘贴的方式。这时就要用到open()的方式来打开文档,然后通过read()读取其中内容,再将词汇作为key,出现次数作为values存入字典。

Python统计文本词汇出现次数的实例代码

图 1 txt文件内容

再通过open和read函数来读取文件:

open_file=open("text.txt")
file_txt=open_file.read()

然后再创建一个空字典,将所有出现的每个词汇作为key保存到字典中,对文本从开始到结束,循环处理每个词汇,并将词汇设置为一个字典的key,将其value设置为1,如果已经存在该词汇的key,说明该词汇已经使用过,就将value累积加1。

代码示例:

def wordcount(readtxt):
readlist = readtxt.split()
dict1={}
for every_world in readlist:
if every_world in dict1:
dict1[every_world] += 1
else:
dict1[every_world] = 1
return dict1
print(wordcount(file_txt))

这里加了def函数把该程序封装成一个函数。
最后输出得到词汇出现的字典:

Python统计文本词汇出现次数的实例代码

图 2 形成字典

ps:下面看下python统计文本中每个单词出现的次数

1.python统计文本中每个单词出现的次数:

#coding=utf-8
__author__ = 'zcg'
import collections
import os
with open('abc.txt') as file1:#打开文本文件
 str1=file1.read().split(' ')#将文章按照空格划分开
print "原文本:\n %s"% str1
print "\n各单词出现的次数:\n %s" % collections.Counter(str1)
print collections.Counter(str1)['a']#以字典的形式存储,每个字符对应的键值就是在文本中出现的次数

2.python编写生成序列化:

__author__ = 'zcg'
#endcoding utf-8
import string,random
field=string.letters+string.digits
def getRandom():
 return "".join(random.sample(field,4))
def concatenate(group):
 return "-".join([getRandom() for i in range(group)])
def generate(n):
 return [concatenate(4) for i in range(n)]
if __name__ =='__main__':
 print generate(10)

3.遍历excel表格中的所有数据:

__author__ = 'Administrator'
import xlrd
workbook = xlrd.open_workbook('config.xlsx')
print "There are {} sheets in the workbook".format(workbook.nsheets)
for booksheet in workbook.sheets():
 for col in xrange(booksheet.ncols):
 for row in xrange(booksheet.nrows):
 value=booksheet.cell(row,col).value
 print value

其中xlrd需要百度下载导入这个模块到python中

4.将表格中的数据整理成lua类型的一个格式

#coding=utf-8
__author__ = 'zcg'
#2017 9/26
import xlrd
fileOutput = open('Configs.lua','w')
writeData="--@author:zcg\n\n\n"
workbook = xlrd.open_workbook('config.xlsx')
print "There are {} sheets in the workbook".format(workbook.nsheets)
for booksheet in workbook.sheets():
 writeData = writeData+'AT' +booksheet.name+' ={\n'
 for col in xrange(booksheet.ncols):
 for row in xrange(booksheet.nrows):
 value = booksheet.cell(row,col).value
 if row ==0:
 writeData = writeData+'\t'+'["'+value+'"]'+'='+'{'
 else:
 writeData=writeData+'"'+str(booksheet.cell(row,col).value)+'", '
 else:
 writeData=writeData+'},\n'
 else:
 writeData=writeData+'}\n\n'
else :
 fileOutput.write(writeData)
fileOutput.close()

总结

到此这篇关于Python统计文本词汇出现次数的实例代码的文章就介绍到这了,更多相关Python统计文本词汇出现次数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 查找文件夹下所有文件 实现代码
Jul 01 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
python监控进程脚本
Apr 12 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
pytorch 自定义数据集加载方法
Aug 18 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
java字符串格式化输出实例讲解
Jan 06 Python
浅谈python输出列表元素的所有排列形式
Feb 26 #Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 #Python
python——全排列数的生成方式
Feb 26 #Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 #Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 #Python
python自动点赞功能的实现思路
Feb 26 #Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 #Python
You might like
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
Javascript 面试题随笔
2011/03/31 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python web框架学习笔记
2016/05/03 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python3实现弹弹球小游戏
2019/11/25 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
优秀中职教师事迹材料
2014/08/26 职场文书
硕士学位论文评语
2014/12/31 职场文书
财务负责人岗位职责
2015/02/03 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书