用代码写个文件的单词云图,需要写多少代码?事实告诉你,用python一行代码就可以实现英文分词云图的制作,用4行就可以实现中文分词云图的制作。博主已精校代码,可直接拿来复用。
0.英文分词
from stylecloud import gen_stylecloud
gen_stylecloud(file_path='abc.txt')
没错,就两行内容,一行导入stylecloud,另外一行直接调用,就可以生成一张单词云图,效果如下(内容为TED讲座所有标题):
1.中文分词
import jieba
from stylecloud import gen_stylecloud
def jieba_cloud(file_name):
with open(file_name,'r',encoding='utf8') as f:
word_list = jieba.cut(f.read())
result = " ".join(word_list) #分词用 隔开
#制作中文云词
gen_stylecloud(text=result,icon_name='fas fa-quote-left',font_path='C:\\Windows\\Fonts\\simhei.ttf',output_name=file_name.split('.')[0] + '.png') #必须加中文字体,否则格式错误
if __name__ == "__main__":
file_name = '斗破苍穹.txt'
jieba_cloud(file_name)
我们以10MB大小的斗破苍穹.txt
为例,最终效果如下:
如此看来,这种小说肯定入不了我们的眼界,不过故事性无法展现,也无法加以评论。
2.为啥要用jieba分词?
据说是目前做中文分词做厉害的一个,暂未发现比这个更智能、更AI的,所以只能用这个了。
3.为啥要用sylecloud,而不用wordcloud?
从需求而言,stylecloud
是我们最需要的,这个库是一位大数据数据分析者Max Woolf
做的,基于wordcloud,算是优化改良版。操作简单,直接调用。
4.小结
这里汇总的分词云图,可以随时拿来,直接去处理一些中英文分词操作,入手简单,需求也准求。值得分享出来。