首先需要需要下载两个python第三方库:jieba以及wordcloud
cmd命令行输入命令:
pip install jieba #下载jieba库 pip install wordcloud #下载wordcloud库 pip list #查看已安装的库jieba库简介
jieba是用于中文分词的第三方库,由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个词组,这种手段叫做分词,我们可以通过jieba库来完成分词。
ls=jieba.lcut(<字符串名>) #将字符串分词并返回列表wordcloud库
wordcloud顾名思义用于生成词云
wc=wordcloud.WordCloud(<参数名>=<参数值>...) #配置对象参数并返回WordCloud对象 wc.generate(<字符串名>) #加载词云文本 wc.to_file(<导出文件名>) #导出词云文件具体步骤 导入相关库并读取文件中的文本内容
import jieba
import wordcloud
f = open("D://文档.txt",'r',encoding='utf-8')
t = f.read()
f.close()
使用jieba库分词
ls = jieba.lcut(t) #jieba分词得到词组列表 txt = " ".join(ls) #将词组列表连接成通过空格分隔的字符串使用wordcloud库生成词云
#设置参数
w = wordcloud.WordCloud(
width = 1000, height = 700,
background_color = "white",
font_path = "msyh.ttc"
)
#加载文本
w.generate(txt)
#导出词云文件
w.to_file("grwordcloud.png")
运行代码
import jieba
import wordcloud
f = open("D://文档.txt",'r',encoding='utf-8')
t = f.read()
f.close()
ls = jieba.lcut(t) #jieba分词得到词组列表
txt = " ".join(ls) #将词组列表连接成通过空格分隔的字符串
#设置参数
w = wordcloud.WordCloud(
width = 1000, height = 700,
background_color = "white",
font_path = "msyh.ttc"
)
#加载文本
w.generate(txt)
#导出词云文件
w.to_file("grwordcloud.png")
单一个字作为关键词会导致词云生成效果不太好,因此我们可以将代码略做修改
import jieba
import wordcloud
f = open("D://文档.txt",'r',encoding='utf-8')
t = f.read()
f.close()
ls = jieba.lcut(t)
#只保留两个字符以上的词组
reallist = []
for s in ls:
if len(s)>=2:
reallist.append(s)
txt = " ".join(reallist)
w = wordcloud.WordCloud(
width = 1000, height = 700,
background_color = "white",
font_path = "msyh.ttc"
)
w.generate(txt)
w.to_file("grwordcloud.png")
最终效果:



