一、涉及的第三方库
1、jieba:中文分词库
2、wordcloud:生成词云
3、imageio:读取图像数据
二、代码详细展示
2.1
#引入需要的库
import jieba
import imageio
import wordcloud
#用imageio的imread函数读取图片,在生成词云的时候将他设置为mask参数(形状)的值
mask1=imageio.imread(r"C:/Users/Desktop/xxx.png")#读取背景图片
2.2
#以删除2020-XX-XX所在行为例
#打开文本文件,按行读取
with open(r"C:\Users\lenovo\Desktop\aganzhengzhuan.txt","r",encoding="UTF-8") as r:
lines=r.readlines()
# 删除不需要的行
with open(r"C:\Users\lenovo\Desktop\aganzhengzhuan.txt","w",encoding="UTF-8") as w:
for line in lines:
if "2020-" not in line:
w.write(line)
r.close()
w.close()
2.3
用jieba库对聊天记录进行分词,得到聊天中的众多关键词
f=open(r"C:\Users\lenovo\Desktop\aganzhengzhuan.txt","r",encoding="UTF-8")#打开处理好的聊天记录文件
t=f.read()
f.close()
ls=jieba.lcut(t) #用lcut函数进行分词
txt="".join(ls) #用空格将关键词隔开
2.4
用wordcloud生成词云
image_colors = wordcloud.ImageColorGenerator(pic1)#利用ImageColorGenerator函数将词云的颜色参数设置为根据图片颜色确定
w=wordcloud.WordCloud(font_path="msyh.ttc",width=800,height=200,mask=pic1,background_color="white",max_words=100000,color_func=image_colors,max_font_size=60)
#设置词云的参数,记住将提到的形状参数设为上面生成的mask1,颜色参数设为image_colors
w.generate(txt)#生成词云
w.to_file("love2.png")#图片保存为love2.png(注意位置在你的程序文件夹里头)