Python 词频统计
利用Python做一个词频统计
GitHub地址:FightingBob 【Give me a star , thanks.】
词频统计
对纯英语的文本文件【Eg: 瓦尔登湖(英文版).txt】的英文单词出现的次数进行统计,并记录起来
代码实现
import string
from os import path
with open('瓦尔登湖(英文版).txt','rb') as text1:
words = [word.strip(string.punctuation).lower() for word in str(text1.read()).split()]
words_index = set(words)
count_dict = {index:words.count(index) for index in words_index}
with open(path.dirname(__file__) + '/file1.txt','a+') as text2:
text2.writelines('以下是词频统计的结果:' + '\n')
for word in sorted(count_dict,key=lambda x:count_dict[x],reverse=True):
text2.writelines('{}--{} times'.format(word,count_dict[word]) + '\n')
text1.close()
text2.close()
代码解析
获取文件,以二进制格式打开文件,用于读取内容
1 with open('瓦尔登湖(英文版).txt','rb') as text1:
获取单词列表
先读取内容
- content = text1.read()
再获取单词列表(使用split() 通过指定分隔符对字符串进行切片)
- words = content.split()
单词大写改小写,去掉单词前后符号
- word,strip(string.punctuation).lower()
去除重复的单词
- words_index = set(words)
设置单词:单词次数的字典
- count_dict = {index:words.count(index) for index in words_index}
写入词频统计
先创建文件,获取当前目录,并以追加写入的方式写入
- with open(path.dirname(__file__) + '/file1.txt','a+') as text2:
换行写入
- text2.writelines('以下是词频统计的结果:' + '\n')
对单词进行排序,根据次数从大到小【key=lambda x:count_dict[x]以值排序】
- sorted(count_dict,key=lambda x:count_dict[x],reverse=True)
换行写入词频
- text2.writelines('{}--{} times'.format(word,count_dict[word]) + '\n')
关闭资源
- text1.close()
- text2.close()
GitHub地址:FightingBob 【Give me a star , thanks.】
Python 词频统计的更多相关文章
- python词频统计及其效能分析
1) 博客开头给出自己的基本信息,格式建议如下: 学号2017****7128 姓名:肖文秀 词频统计及其效能分析仓库:https://gitee.com/aichenxi/word_frequenc ...
- 大数据python词频统计之本地分发-file
统计某几个词在文章出现的次数 -file参数分发,是从客户端分发到各个执行mapreduce端的机器上 1.找一篇文章The_Man_of_Property.txt如下: He was proud o ...
- 大数据python词频统计之hdfs分发-cacheArchive
-cacheArchive也是从hdfs上进分发,但是分发文件是一个压缩包,压缩包内可能会包含多层目录多个文件 1.The_Man_of_Property.txt文件如下(将其上传至hdfs上) ha ...
- 大数据python词频统计之hdfs分发-cacheFile
-cacheFile 分发,文件事先上传至Hdfs上,分发的是一个文件 1.找一篇文章The_Man_of_Property.txt: He was proud of him! He could no ...
- python词频统计
1.jieba 库 -中文分词库 words = jieba.lcut(str) --->列表,词语 count = {} for word in words: if len(word)==1 ...
- python瓦登尔湖词频统计
#瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...
- Python中文词频统计
以下是关于小说的中文词频统计 这里有三个文件,分别为novel.txt.punctuation.txt.meaningless.txt. 这三个是小说文本.特殊符号和无意义词 Python代码统计词频 ...
- 用Python实现一个词频统计(词云+图)
第一步:首先需要安装工具python 第二步:在电脑cmd后台下载安装如下工具: (有一些是安装好python电脑自带有哦) 有一些会出现一种情况就是安装不了词云展示库 有下面解决方法,需看请复制链接 ...
- Python——字符串、文件操作,英文词频统计预处理
一.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 2.凯撒密码编码与解码 凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左 ...
随机推荐
- dip,px,sp区别及使用场景
1.区别 dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA.HVGA和QVGA推荐使用这个,不依赖于像素.等同于dp. px ...
- django notes 五:Writing models
models 其实也没什么好说的,就是普通的 python 类 settings 中配置数据库连接 DATABASES = { 'default': { 'ENGINE': 'django.db.ba ...
- SecureCRTPortable的安装和使用(图文详解)
不多说,直接上干货! 玩玩这个远程连接软件,是个绿色软件. 别人已经做好了的. 解压之后, 下面,软件展示下, 这会默认去打开, 为了,方便,使用,放到桌面,作为快捷方式 成功 欢迎大家,加入我的微信 ...
- C#中的委托 Delegate(委托 也叫代表,代表一类方法)
1. 委托类似与 C或C++中的函数指针,但委托是 面向对象的,并且是类型安全的 详情可查看官方文档:https://msdn.microsoft.com/en-us/library/ms173172 ...
- IOS项目之弹出动画三
前面写了弹出动画两个,今天做商城时又用到了,看着这个用着蛮普遍的,所以记了下来 // // mallMoreView.h // XQB // // Created by City--Online on ...
- 【angular5项目积累总结】优秀组件以及应用实例
1.手机端 图片预览组件 组件:sideshow 效果图:(预览图全屏 且可以左右移动) code: <div class="row ui-app-s ...
- IIS 站点 共享目录
1.先建立站点,再设置文件夹为共享,Everyone 2.Mac电脑 Everyone不能访问,必须建立用户
- ubuntu下搭建ecshop
最近在看ecmobile的开源项目,可以从http://www.ecmobile.cn/agreement.html下载源码或者从github上下载源码https://github.com/G ...
- Java如何大批量从json数据源中按指定符号隔字符串,并修改、删除数据
原文出自:https://blog.csdn.net/seesun2012 package com.seesun2012.com; /** * Java大批量修改.删除数据,按指定标识符分隔字符串 * ...
- jquery实现的让图片在网页的可视区域里四处漂浮的效果
本文分享给大家一个用jquery开发的图片漂浮效果. jquery图片漂浮效果,常见的就是网页里四处漂来漂去的广告了,漂到边缘时还会反弹和拐弯. 下面来看具体的代码,先看要实现漂亮效果的这个jquer ...