python统计西游记人物名字出现次数_Python文本统计功能之西游记用字统计操作
这篇文章主要介绍了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文本统计功能之西游记用字统计操作.分享给大家供大家参考,具体如下: 一.数据 xyj.txt,<西游记>的文本,2.2MB 致敬吴承恩大师,4020行(段) 二. ...
- python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例
Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...
- python字符串的拼接名字的组成_Python拼接字符串的7种方法
python拼接字符串一样平常有以下几种方式: 1,通过(%)操作符拼接 print('%s %s' % ('Hello', 'world')) >>> Hello world 2, ...
- python查询mysql表名字动态日期_Python之路day11作业-MySQL表查询
#-*- coding: utf-8 -*- __author__ = 'caiqinxiong_cai' #2019/9/25 15:22#多表查询的作业 : https://www.cnblogs ...
- python同时输出名字和时间_Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化...
一.字符串输出及运算 1.常用输出格式及方法 1 print('1234567890')#单引号 2 print("1234567890")#双引号 3 print("& ...
- python计算文件中字母出现次数_python – 计算文本文件中字母的频率
使用collections.Counter(): from collections import Counter with open(file) as f: c = Counter() for x i ...
- python变量隔一个数取出来_Python(二):变量、常量,字符串操作
变量&常量 变量和常量都是存储值的内存区域,"变量"就是说值可以改变,"常量"就是说这个值不能改,是只读的,关于常量不详细介绍了 命名 上一次说过命名规 ...
- python列表切片后得到剩余列表_python列表切片和嵌套列表取值操作详解
python列表切片和嵌套列表取值操作详解 给出列表切片的格式: [开头元素::步长] # 输出直到最后一个元素,(最后一个冒号和步长可以省略,下同) [开头元素:结尾元素(不含):步长] # 其中, ...
- python敏感词过滤代码简单代码_Python 实现王者荣耀中的敏感词过滤示例
Python 实现王者荣耀中的敏感词过滤示例 王者荣耀的火爆就不用说了,但是一局中总会有那么几个挂机的,总能看到有些人在骂人,我们发现,当你输入一些常见的辱骂性词汇时,系统会自动将该词变成" ...
最新文章
- MySQL(MariaDB)常用DOM命令
- 通过案例学调优之--AWR baseline对比生成AWR报告
- 大雁塔为什么七层_西安旅游的打卡景点,大雁塔是干嘛的?怎么来的?
- Wiki系统分析比较
- 学会利用杠杆,阻碍你成功的,或许恰恰是你认为正确的思维,能力、效率、杠杆三个因素,决定了你一生的发展...
- 【Linux系统编程】进程同步与互斥:System V 信号量
- 全志_功能引脚配置_sys_config.fex
- 9 操作系统第二章 进程管理 管程
- 常见URL字符及URL编码值
- PID控制算法的c语言实现 附录2 直流电机PWM调速系统中控制电压非线性研究
- abaqus python教程_Abaqus-python脚本到底应该怎么写?一文带你入门
- k8s报警 FailedCreatePodSandBox
- 药物临床试验数据分析(靶点|适应症|企业|登记信息)
- 红细胞膜包裹载抗癌药的PLGA纳米载体/聚多巴胺涂覆载药plga材料(生物偶联)
- Unity3D代码混淆
- C51模拟PS2键盘(三)
- v-for和v-if与v-show能否一起使用
- 易我数据恢复Mac版让Mac数据恢复变得小菜一碟
- mysql中,设置数据ID从1开始
- cad转换pdf怎么转换?
热门文章
- PHP curl请求处理
- 上海亚商投顾:科创50指数录得6连阳 芯片股掀涨停潮
- 音频转文字工具都有哪些?分享三款好用的录音转文字软件
- 12个 “经典” 网站!
- JD-GUI.exe This application requires a Java Runtime Environment 1.7.0 或this application requires a
- 实验四+二层旁挂式WLAN组网设计
- JavaScript知识大纲(进阶篇)
- Android 64 bit的一些兼容性分析
- 算法思想记录:给定一个整数数组 nums 和一个目标值 target
- 【牛客】[编程题]组队竞赛