版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_22689423/article/details/82112593
统计结果图
三国演义字数统计
资料下载地址
三国演义txt下载 密码:rqau
相关代码
# -*- coding: utf-8 -*-
f = open('三国演义.txt', 'r',encoding='utf-8')
characters = []
lists = {}
for line in f:
#去掉每一行两边的空白
line = line.strip()
#如果为空行则跳过该轮循环
if len(line) == 0:
continue
#遍历该行的每一个字
for x in range(0, len(line)):
# 去掉标点符号和空白符
if line[x] in [' ', '', '\t', '\n', '。', ',', '’', '‘', '(', ')', '?', '!', '《', '》', '、', '□', ':','“','”',';','N']:
continue
#尚未记录在characters中
if not line[x] in characters:
characters.append(line[x])
#尚未记录在lists中
if not line[x] in lists:
lists[line[x]] = 0
#汉字出现次数加1
lists[line[x]] += 1
print(len(characters))
print(len(lists))
lambda生成一个临时函数
d表示字典的每一对键值对,d[0]为key,d[1]为value
reverse为True表示降序排序
lists = sorted(lists.items(),key=lambda d:d[1],reverse=True)
fw = open('三国演义字数统计.csv','w')
print(lists)
for item in lists:
fw.write(item[0]+','+str(item[1])+'\n')
f.close()
fw.close()
print("写入完成")