零基础Python做词云,超简单!

零基础Python做词云

网上做词云的教程无数,大多都是各种乱七八糟的库一大堆,其实词云超简单,come on!一起coding!

工具:

Python
(3以后的版本随意)
IDE:Pycharm
(IDE就是方便coding的一个程序,不会安装可以参考另一篇文章)
用到的库:worldcloud,imageio,jieba

正文讲解:

关于库:
wordcloud: 要想词云做的好,wordcloud少不了,worldcloud用于生成词云。

用到的函数:wordcloud.WordCloud().generate() : 就是这个函数造出的词云,第一个括号里填词云的各种参数,第二个括号里填自己分好词的文章
w.to_file():输出词云括号里为输出的名字

imageio: 用于导入图云的背景图片,worldcloud做出来的词云默认是长方形的,想要用其他背景图就用到了imageio。(所以这个库没有也无妨)

用到的函数:imageio.imread() : 括号里填背景图片的储存地址

jieba: jieba是用于分词的,把一句话分为割为词语。

用到的函数:jieba.cut()括号里填词云用的文章
安装库:打开设置,找到Project Interpreter在这里插入图片描述
点击右上角的加号添加库

在这里插入图片描述
逐个搜索并点击下面的install package

在这里插入图片描述

开始coding

以QQ聊天记录制作词云为例:

  1. 新建文件
  2. 开始coding:
  3. 对于代码讲解
from imageio import imread                                                     
import wordcloud
import jieba
#导入所需库
temptext = []                                                                         #留着盛装中间文本
for word in open(r'D:\C and Python\全部消息记录.txt','r',encoding = 'utf-8'):             #排除聊天记录里系统表情,系统显示的时间等等垃圾信息
    tmp = word[0 : 4]
    if (tmp == "2020" or tmp == "===="):#遇见垃圾信息直接跳过
        continue
    tmp = word[0:2]#同理跳过
    if (tmp[0] == "[" or tmp[0] == "/"):
        continue
    temptext.append(word)              #收集起来有用的信息
    #print(newtext)
with open(r'D:\C and Python\处理后.txt','w',encoding='utf-8') as f:          #将做好的中期文本存起来
    for i in newtext:
        f.write(i)
f.close()                             #写入一个txt里
text = open(r'D:\C and Python\处理后.txt','r',encoding='utf-8').read()       #进入制作词云阶段
jieba.load_userdict(r'D:\C and Python\分词.txt')#此处为加入自己预先分的词,毕竟机器比较笨嘛!很可能一些词自己识别不出来。so加入自己分的词更好一点                             
word_jieba = jieba.cut(text)                   #进行分词,得到目标文本
word_result = " ".join(word_jieba)             #将分好的词构成新的字符串
#print(word_result)
bg_pic = imread(r'D:\6wanDownload\background.png')                         #读取背景图片
w = wordcloud.WordCloud(font_path=r'D:\C and Python\兰亭粗黑简.TTF',mask=bg_pic,stopwords={"表情","亲爱的"},scale=1.5,background_color='white',
                        ).generate(word_result)                            #设置词云相应参数,千万不要忘了设置字体font_path,wordcloud自身的字体处理中文词云容易产生无法显示,stopwords是指遇到这些词不统计,减少无用词语影响词云
w.to_file(r'D:\C and Python\摸鱼大师.jpg')                                     #输出词云图片

得出成果:在这里插入图片描述
是不是so easy ?
欢迎关注“摸鱼大师”,我们一起学习,一起coding!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值