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访问抓取网页常用命令总结
Apr 11 Python
Python递归函数定义与用法示例
Jun 02 Python
用Python写脚本,实现完全备份和增量备份的示例
Apr 29 Python
python matlibplot绘制多条曲线图
Feb 19 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
python tkinter实现屏保程序
Jul 30 Python
Python识别html主要文本框过程解析
Feb 18 Python
pyspark 随机森林的实现
Apr 24 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
Python 随机按键模拟2小时
Dec 30 Python
在Django中使用MQTT的方法
May 10 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
php创建类并调用的实例方法
2019/09/25 PHP
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
24款热门实用的jQuery插件推荐
2014/12/24 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
python使用RNN实现文本分类
2018/05/24 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
农村婚礼证婚词
2014/01/08 职场文书
旷课检讨书1000字
2014/02/14 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
文明演讲稿范文
2014/05/12 职场文书
节水口号标语
2014/06/19 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
全网非常详细的pytest配置文件
2022/07/15 Python