源程序如下:
import jieba
import wordcloud
f = open("D:\\yan\\中国教育现代化2035.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud( \
width = 1000, height = 700,\
background_color = "white",
)
w.generate(txt)
w.to_file("grwordcloud.png")
出错信息:
========================== RESTART: D:\yan\ciyun.py ==========================
Traceback (most recent call last):
File "D:\yan\ciyun.py", line 4, in <module>
t = f.read()
File "C:\Users\User\AppData\Local\Programs\Python\Python35\lib\codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte
你少加了字体,没有字体文件系统没办法给你输出。
import jieba
import wordcloud
f = open("D:\\yan\\中国教育现代化2035.txt", "r", encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud( \
font_path = "msyh.ttc",\
width = 1000, height = 700,\
background_color = "white",
)
w.generate(txt)
w.to_file("grwordcloud.png")
加上那一串代码,你再试试。可以的话,给好评哦
这样运行下来的话,只能看到方框而看不到中文文本词云。你不妨自己用一个文本文件测试一下
追答我没有你的文件没法测试。
那么你把你的文件用记事本打开,然后另存为utf-8编码,代码就用你本来的。
只看到方框是字体的原因。
解决不支持中文:
不支持显示中文的原因是因为wordcloud的默认字体不支持中文,那就好办了,我们设置一种支持中文的字体即可
方法一:
百度下载字体simhei.ttf放到对应C:\Windows\Fonts里
方法二:
wordlcloud.WordCloud类初始化函数有个设置字体的参数font_path,把支持中文的字体的路径传给font_path。
你不妨自己用一个文本文件测试一下。
本回答被网友采纳普通的中文文本。
追答中文文本也有很多种编码的,你看看你那个文本是utf8还是gbk
追问你不妨自己用一个文本文件测试一下 哪怕就写十个字