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中使用插入排序算法的简单分析与代码示例
May 04 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
Python跨文件全局变量的实现方法示例
Dec 10 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Python 单例设计模式用法实例分析
Sep 23 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
python实现扫雷游戏的示例
Oct 20 Python
详解Python为什么不用设计模式
Jun 24 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读取javascript设置的cookies的代码
2010/04/12 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
JavaScript 继承的实现
2009/07/09 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
2010/06/28 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
移动端js图片查看器
2016/11/17 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
PyQt5利用QPainter绘制各种图形的实例
2017/10/19 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
Python 实现Mac 屏幕截图详解
2021/10/05 Python