三国演义python分析系统_用python分析四大名著之三国演义

import jieba

txt = open( "三国演义.txt", "r", encoding= "gb18030"). read()

这里的编码格式一开始我是按照书上‘utf-8’格式读取,发现会乱码,后来在pycharm里面用‘gbk’格式能读出文本内容,但是个别字符识别不出来,就去百度到“gb18030”比gbk范围更广,这里我成功读入。如果你此时还是读入不了可以写成下面形式

txt= open( "三国演义.txt", "r", encoding= "gb18030",errors= "ignore").read()

完整代码实现

import jieba

excludes = { "将军", "却说", "荆州", "二人", "不可", "不能", "如此", "商议", "如何", "主公", "军士", "左右", "军马", "引兵", "次日", "大喜", "天下", "东吴", "于是", "今日", "不敢", "魏兵", "人马", "陛下", "一人"}

txt = open( "三国演义.txt",

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍如何使用Python进行统计分析,统计三国演义主要人物出场次数。 首先,我们需要将《三国演义》的文本数据导入Python。您可以在网上搜索到该书的txt格式文件,将其下载到本地。 接着,我们需要使用Python的文件读取功能将文本数据导入到程序。可以使用以下代码: ```python with open('三国演义.txt', 'r', encoding='utf-8') as f: text = f.read() ``` 以上代码,我们使用`open()`函数打开文本文件,并使用`read()`方法读取其的内容。由于该书是以utf-8编码格式保存的,因此我们需要指定`encoding='utf-8'`来正确读取其文字符。 接下来,我们需要使用Python的正则表达式模块`re`来匹配人物名称。可以使用以下代码: ```python import re # 匹配人物名称 pattern = re.compile('[\u4e00-\u9fa5]{2,5}(?:·[\u4e00-\u9fa5]{2,5})*') names = re.findall(pattern, text) ``` 以上代码,我们使用`re.compile()`函数定义了一个正则表达式模式,用于匹配人物名称。该模式匹配2到5个汉字,间可以包含一个或多个“·”符号。然后使用`re.findall()`方法在整个文本查找符合模式的所有字符串,并将其保存在`names`列表。 最后,我们可以使用Python的`collections`模块的`Counter`类来统计每个人物出现的次数。可以使用以下代码: ```python from collections import Counter # 统计人物出现次数 name_counts = Counter(names) ``` 以上代码,我们使用`Counter`类对`names`列表的人物名称进行计数,并将结果保存在`name_counts`字典。 现在,`name_counts`字典存储了三国演义所有人物出现的次数。您可以使用以下代码查看前10名出场次数最多的人物: ```python # 输出前10名出场次数最多的人物 top10 = name_counts.most_common(10) for name, count in top10: print(name, count) ``` 以上代码,我们使用`most_common()`方法获取出场次数最多的前10名人物,并使用`for`循环逐个输出其名称和出场次数。 希望以上内容能够帮助您完成Python统计三国演义主要人物出场次数的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值