赞
踩
最近《庆余年》大火,不怎么看电视剧的我也追起了剧来,可就在今天,突然发现好像进度条撑不住了,怎么就要大结局了,小说那么长怎么拍成电视剧就这么短,我表示看不够啊,处于对未知剧情的好奇,以及我实在没时间看完整本小说,我就打算用词云来分析分析这本书都有些啥关键词,开始操作之前先让大家看一看我做出来的结果:
首先介绍一下我们今天会用到的几个 Python 库:
我们先将准备好的 庆余年.txt 使用 open 以 utf-8 的编码格式打开,然后使用 read() 函数将 txt 里的内容传给一个变量 joy,最后试着查看一下变量 joy 前 1000 个字符的内容
然后使用 jieba 的精准模式进行分词,打印输出一部分检查一下,可以我们发现分词的结果中有很多无意义的字符,比如: ''、'很、'算' 等等
我们现在添加以下条件判断对这些词进行筛选,其实就是使用列表生成式,关于列表生成式不太清楚的可以昨天的文章:Python:你会生成列表吗?-- 列表生成式
接下来这一步很重要,使用 join() 函数将已经经过分词,且简单去除了无意义内容的字符,以空格为间隔,以字符串的形式,存入一个新的变量 document 中,至此,我们一会需要使用的数据已经处理好了
我们这次要制作的词云是以一张图片为形状容器的,所以我们先导入图片,使用 imageio 库的 imread() 函数
然后使用 wordcloud 库制作词云,先配置词云基本的属性,背景颜色:white,mask 就是词云的形状,默认是方形,这里使用之前读取的 img,font_path 也就是使用什么字体必须设置,因为我们的词云是中文字,不设置不会出现字,直接给一个本地字体文件的路径,然后将之前处理好的文字数据 document 使用 wordcloud 的 generate() 函数传入
最后使用 to_file() 函数将词云保存为本地图片
打开本地目录查看最后成果:
今天的分享到此结束,别忘了点个赞,本次项目的所有文件及源码已上传至 GitHub
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。