小鱼:小屌丝,你在干啥呢?
小屌丝:鱼哥,你看, 我的PPT写的 高大尚不。
小鱼:这有啥高大尚的啊,
小屌丝:你仔细看, 往下翻一页
小鱼:额。你这那是PPT,就是浴皇大帝、昂科旗等车系的测评吗。
小屌丝:别管内容了, 鱼哥,你就说,这个样式怎么样, 帅不帅气吧。
小鱼:嗯,样式嘛, 还可以的。
小屌丝:鱼哥,你这么淡定, 你的意思, 你也会?
小鱼:额… 我可没说, 休想套路我。
小屌丝:鱼哥,我这就要说到公道话了, 独乐乐不如众乐乐。
小鱼:有的时候,需要独乐乐。
小屌丝:鱼哥,别整没用的, 你就说分不分享吧?
小鱼:额… 这个… 你说啥?
小屌丝:我说,你把这个代码分享出来呗。
小鱼:你说分享什么啊?
小屌丝:分享词云生成器的代码
小鱼:分享什么代码啊?
小屌丝:去泡温泉…
小鱼:好嘞,早说不就完事了嘛。
说到词云的制作, 不得不提的第三方库,stylecloud:简洁易用的词云库
当然仅仅有stylecloud还是不够的, 还需要一个库,即 jieba:中文分词库
所以, 今天我们就用stylecloud和jieba来完成本次的代码实战。
接下来, 我们先了解 这两个库。
jieba: 中文分词库
1、运行原理
2、主要模式
3、主要功能
关于词云生成工具, 常用的无非这3种:
接下来,我们就使用 sytlecloud第三方库,看看它完美到什么程度。
涉及到第三方库,肯定就需要安装
老规矩,pip 安装
pip install jieba
pip install stylecloud
然后就是等待着安装。
其它安装方式,直接看这两篇:
代码示例
# -*- coding:utf-8 -*-
# @Time : 2023-01-10
# @Author : Carl_DJ
'''
实现功能:
词云生成器
'''
import json
import stylecloud
import codecs
import jieba
from collections import Counter
#过滤掉高频出现的词汇
passwords = set()
#读取词汇文档
content = [line.strip() for line in open('./data/passwords.txt', 'r',encoding='utf8').readlines()]
passwords.update(content)
#获取文档词汇, 并截取长度为3个
def make_words(txt):
make_list = jieba.cut(txt)
c = Counter()
words_list = []
#获取词汇文本
for x in make_list:
#长度为3,超过截取
if len(x) == 3 and x !='\r\n':
c[x] += 1
words_list.append(x)
for k,v in c.most_common(50):
if k not in passwords:
# print(f'{k,v}')
#组合词云内容
return " ".join(words_list)
#读取中大型suv测评.txt内容
with codecs.open('./data/中大型suv测评.txt','r','utf8') as f: #格式需要utf8 否则会报错
txt = f.read()
#
words_txt = make_words(txt)
#设置词云展示的样式,字体,生成文件名称等,
stylecloud.gen_stylecloud(text=words_txt,custom_stopwords=content,
background_color='#1A1A1A',
colors=['#dd4444', '#fec42c', '#fac858'],
max_font_size=100,
output_name='xt6测评.jpg',
font_path="C:/Windows/Fonts/FZSTK.TTF"
)
结果展示
注:
这里需要准备两个文件
文本内容示例:
这里强调一点:
当然,文档内容, 也可以是下载的小说,或者你自己写的任何内容。
看到这里, 今天的分享就要结束了。
回头看一下,
其实词云生成器,并不难。
主要就是对jieba、stylecloud这两个库的使用。
这里我仅仅列举了stylecloud第三方库,
当然,如果你有兴趣,也可以使用pyecharts、wordcloud,看看生成的词云如何。
也就当是你自己的练手了。