Python词云

导入相关库

1
2
3
4
5
6
7
8
#用于生成词云
from wordcloud import WordCloud
#用于读取背景图
import numpy as np
#用于载入词云背景图
from PIL import Image
#用于载入jieba词库进行中文分词
import jieba

读取文本内容,存入一个变量text

1
2
with open("新建文本文档.txt","r") as f:
text = f.read()

使用jieba库中的jieba.lcut()库进行中文分词处理,将结果返回为一个列表wt(英文文本跳过此步)

1
wt = " ".join(jieba.lcut(text))

载入背景图

1
mask = np.array(Image.open("1.png"))

在背景图(mask)上生成词云

1
2
3
4
#注意中文文本需要导入字体包(font_path),否则生成的词云无法显示汉字,会呈现为彩色矩形方框
wcd = WordCloud(background_color=None,height=500,width=500,font_path="fonts/msyh.ttc",
colormap="Reds",mask=mask,mode="RGBA",repeat=True)
wcd.generate(wt)

将词云转换为图片格式

1
img = wcd.to_image()

显示/存储图片

1
2
3
4
#显示图片
img = wcd.to_image()
#存储图片
img.save("wcd.png")

注:参考源码