首页 > 编程语言 > 详细

python:用wordcloud生成一个文本的词云

时间:2019-02-28 19:13:07      阅读:235      评论:0      收藏:0      [点我收藏+]

今天学习了wordcloud库,对《三国演义》生成了词云图片,非常漂亮。就想多尝试几个,结果发现一系列问题。

最常出现的一个错误就是"UnicodeDecodeError : ...", 冒号后面的info不一而足。看意思也能猜出是"encoding"解码方式不对,于是各种编码尝试,有的默认或者"ANSI"就可以解码,有的必须用"UTF-8", 一狠心用了”errors=‘ignore‘“, 结果顺利运行了,词云图片却是一堆乱码。

注:如果图片各种方框,应该是字体没加对了(ttf文件系统里搜一下):font_path = "msyh.ttf"

想着应该有个办法能获取到文本的编码方式啊,一搜果然如此:https://blog.csdn.net/qq_32618817/article/details/81363235.  

 1 #wordcloud_V2.py
 2 
 3 import wordcloud
 4 import chardet                                     #用命令安装这个包"pip install chardet"
 5 def get_encoding(file):                        
 6     with open(file,rb) as f:                     #二进制方式读取,获取字节数据,检测类型
 7         return chardet.detect(f.read())            #获取文件的编码方式
 8 
 9 #打印文件编码
10 file_type = get_encoding(prime.txt)
11 print(file_type)
12 
13 #制作词云
14 txt = open(prime.txt,r,encoding = utf-16 ).read()
15 fo = wordcloud.WordCloud(width=1920,height=1080,font_path="msyh.ttf")
16 
17 fo.generate(txt)
18 fo.to_file(prime3.jpg)

python的魅力:

技术分享图片

python:用wordcloud生成一个文本的词云

原文:https://www.cnblogs.com/xier/p/10452510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!