python词频统计西游记实验报告_Python文本统计功能之西游记用字统计操作示例
本文实例讲述了Python文本统计功能之西游记用字统计操作。分享给大家供大家参考,具体如下:
一、数据
xyj.txt,《西游记》的文本,2.2MB
致敬吴承恩大师,4020行(段)
二、目标
统计《西游记》中:
1. 共出现了多少个不同的汉字;
2. 每个汉字出现了多少次;
3. 出现得最频繁的汉字有哪些。
三、涉及内容:
1. 读文件;
2. 字典的使用;
3. 字典的排序;
4. 写文件
四、效果
五、源代码
# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding("utf8")
fr = open('xyj.txt', 'r')
characters = []
stat = {}
for line in fr:
# 去掉每一行两边的空白
line = line.strip()
# 如果为空行则跳过该轮循环
if len(line) == 0:
continue
# 将文本转为unicode,便于处理汉字
line = unicode(line)
# 遍历该行的每一个字
for x in xrange(0, len(line)):
# 去掉标点符号和空白符
if line[x] in [' ','', '\t', '\n', '。', ',', '(', ')', '(', ')', ':', '□', '?', '!', '《', '》', '、', ';', '“', '”', '……']:
continue
# 尚未记录在characters中
if not line[x] in characters:
characters.append(line[x])
# 尚未记录在stat中
if not stat.has_key(line[x]):
stat[line[x]] = 0
# 汉字出现次数加1
stat[line[x]] += 1
print len(characters)
print len(stat)
# lambda生成一个临时函数
# d表示字典的每一对键值对,d[0]为key,d[1]为value
# reverse为True表示降序排序
stat = sorted(stat.items(), key=lambda d:d[1], reverse=True)
fw = open('result.csv', 'w')
for item in stat:
# 进行字符串拼接之前,需要将int转为str
fw.write(item[0] + ',' + str(item[1]) + '\n')
fr.close()
fw.close()
python词频统计西游记实验报告_Python文本统计功能之西游记用字统计操作示例相关推荐
- python简单计算器综合实验报告_Python实现的简单计算器功能详解
本文实例讲述了Python实现的简单计算器功能.分享给大家供大家参考,具体如下: 使用python编写一款简易的计算器 计算器效果图 首先搭建计算器的面板: 计算器面板结构 建造一个继承于wx.Fra ...
- python字典的应用实验报告_Python字典应用的一个例子
#!/usr/bin/env python #定义一个空字典 db = {} def newuser(): prompt = '--login desired: ' while True: name ...
- python猜数游戏实验报告_python实现猜数游戏
本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 一.问题描述: 使用python开发一个猜数小游戏,程序随机产生0~1024之间的数字,用户输入猜测数字,程序告诉用户 ...
- python学生成绩管理系统实验报告_Python实现学生成绩管理系统
本文实例为大家分享了Python实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 基本功能: 输入并存储学生的信息:通过输入学生的学号.姓名.和分数,然后就可以把数据保存在建立的student ...
- python简单计算器综合实验报告_python之简单计算器
importre#问题:让用户选择1,2不现实,如何让用户自动加减乘除#思考:现在已经能够处理,单个的加减或乘除#可否在混合中先分组出(乘除) eg: ['8+9+','9*4/3','-','4*2 ...
- python凯撒加密实验报告_Python之凯撒加密
凯撒加密介绍 在密码学中,恺撒密码是一种最简单且最广为人知的加密技术. 它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文. 例,当偏移量是3的时 ...
- python中数字怎么加冒号_Python数据类型中的“冒号“[::]——分片与步长操作示例...
本文实例讲述了Python数据类型中的"冒号"[::]--分片与步长操作.分享给大家供大家参考,具体如下: 例如有如下字符串: string = "welcome to ...
- 运动会分数统计的实验报告(数组实现)
运动会分数统计的实验报告(数组实现) 有n个学校参加运动会,学校名对应的编号为1--n.比赛分成m个男子项目,和w个女子项目.每个项目取前三名积分,前三名的积分分别为:5.3.2:数据可以存储在一个数 ...
- 基于Kaggle心脏病数据集的数据分析和分类预测-StatisticalLearning统计学习实验报告
基于Kaggle心脏病数据集的数据分析和分类预测-StatisticalLearning统计学习实验报告 一.实验准备 本数据来源于kaggle,包含14个维度,303个样本,具体的变量说明如下表所示 ...
最新文章
- C++ 笔记(07)— 常量(字面常量、const定义常量、constexpr 定义常量、enum 定义常量、define 定义常量)
- mysql java 分页实体类_Java GUI+mysql+分页查询
- 部署在SAP ABAP服务器上的SAP UI5应用的JavaScript文件,是如何被SAP UI5 repository handler处理的
- innodb和my查询速度_mysql存储引擎MyISAM和InnoDB
- Linux 2440 LCD 控制器
- ios开发ios9新特性关键字学习:泛型,逆变,协变,__kindof
- Java | 使用对数器判断自己的程序是否正确(generateRandomArray)
- 收藏 | 人脸检测之Retinaface
- “手把手教你学linux驱动开发”OK6410系列之01---模块编程
- 【第三方软件】利用WIN8系统自带的绘图软件获取图像信息(位置和颜色信息)
- 用linux运行vasp,科学网—VASP使用 - 李继存的博文
- html背景图透明文字正常,背景图片 透明 文字不透明
- 微计算机cpu是指什么,微处理器和CPU的不同是什么
- 支付宝提现回调地址问题
- Unity3D 手机摇一摇 实现震动效果
- matlab自带的mri数据集,探查三维 MRI 数据集的切片
- Linux系统下tmux的分屏使用
- 360 mysql读写分离_mysql-proxy之奇虎360 Atlas 安装实现mysql读写分离
- linux 系统内存nand flash,uboot在nandflash存储时内存和NandFlash存储空间
- hdu 5148Cities 树形dp
热门文章
- attrib批量显示文件夹_Windows 下彻底隐藏文件和文件夹的方法
- cmd对应linux sleep命令,linux的sleep命令
- JDK8新特性DateTimeFormatter
- 检测php源码函数版本,PHP通用检测函数集合
- java 输出xml文件_java解析xml文件并输出
- mysql拆分英文数字_MySQL中的REGEX仅显示由连字符分隔的数字。
- 台电t30_数码:台电发布T30平板电脑,10.1英寸/p70处理器/4+64GB内存组合
- 正则去除包裹的大括号
- linux apache smtp,Linux 使用msmtp 发送邮件
- numpy产生一个大于0的随机数_Numpy中常用随机函数的总结