词云和穷爸爸、富爸爸

前言

试试制作词云,放进公众号里
也可以用在线词云制作

提取穷爸爸、富爸爸书中所有文字

已有了这本书的文字pdf,因此完全可以直接在pdf上复制以达到目的
还有别的方法吗,用python?
肯定是有的
pdfplumber使用入门

制作词云

这里有个相对较好的教程
需要库:jieba、matplotlib、Wordcloud
注意Wordcloud直接用pip安装会失败,换镜像源也不行,需要去官网下载whl文件安装
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

先试验一下最简单的用法

from wordcloud import WordCloud
import PIL.Image as image
with open("dad.txt",  encoding='gb18030', errors='ignore') as fp:
    text = fp.read()
    WordCloud = WordCloud().generate(text)
    image_produce = WordCloud.to_image()
    image_produce.show()

注意

with open("dad.txt",  encoding='gb18030', errors='ignore') as fp:
#不解码会报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xb8 in position 8: illegal multibyte sequence

在这里插入图片描述
可以弹出,但内容无法显示,换成英文试试
在这里插入图片描述
果然英文是可以的
先不管中文的问题,尝试更改一下形状
引入numpy库
然后下载一个带有形状的图片,这个操作有点难度
。。。。。。。还不会

要解决中文问题非常简单,引入一个字体就可以了

WordCloud = WordCloud(font_path='msyh.ttc').generate(text)

完整代码

from wordcloud import WordCloud
import PIL.Image as image
import numpy as np
import jieba

with open("ciyu.txt",  encoding='utf-8', errors='ignore') as fp:
    text = fp.read()
    word_list = jieba.cut(text)#jieba库的作用是进行分词
    result = "".join(word_list)
    # mask = np.array(image.open("图片1.jpg"))没找到有形状的图片
    WordCloud = WordCloud(font_path='msyh.ttc').generate(text)
    image_produce = WordCloud.to_file("dads.png")

得到
在这里插入图片描述
把最后两行代码改成这样用来保存图片
在这里插入图片描述
至此已经实现用python制作词云了
然后观察得到的图片,全部是句子,这时候还要靠jieba’库进行进一步分词
学习jieba库在这里

总结

重点还是jieba库,这个库的使用很重要

猜你喜欢

转载自blog.csdn.net/qq_51598376/article/details/114029837