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 01 Python
跟老齐学Python之有容乃大的list(2)
Sep 15 Python
详细介绍Python函数中的默认参数
Mar 30 Python
小小聊天室Python代码实现
Aug 17 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
使用GitHub和Python实现持续部署的方法
May 09 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 Python
Keras 切换后端方式(Theano和TensorFlow)
Jun 19 Python
python和anaconda的区别
May 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版)
2006/10/09 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
python http接口自动化脚本详解
2018/01/02 Python
python批量创建指定名称的文件夹
2019/03/21 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Python中Unittest框架的具体使用
2019/08/27 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
Ruby如何实现动态方法调用
2012/11/18 面试题
大学生考试作弊检讨书1000字
2014/10/14 职场文书
计生个人工作总结
2015/02/28 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
golang slice元素去重操作
2021/04/30 Golang
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技