import jieba
from jieba import analyse
f=open('西游记.txt','r',encoding='utf-8')
s=f.read()
f.close()
lst=analyse.extract_tags(s,topK=50,withWeight = True)
import matplotlib.pyplot as plt
from wordcloud import WordCloud
dic={x[0]:x[1] for x in lst}
from scipy.misc import imread
mk = imread("圆形.png")
w=WordCloud(font_path='c:\Windows\Fonts\simhei.ttf',background_color='white',mask=mk).generate_from_frequencies(dic)
plt.imshow(w)
plt.axis('off')
plt.show()
请问这个代码的结果到底是什么,为什么运行总是出错?
贴一下报错代码
报错1:FileNotFoundError: [Errno 2] No such file or directory: '西游记.txt'
原因:可能是文件路径或文件名错误
解决方法:检查txt文件名
报错2:ImportError: cannot import name 'imread' from 'scipy.misc' (D:\python2\a01_\venv\lib\site-packages\scipy\misc_init_.py)
原因:通常是导入scipy库的版本出现了问题。
解决方法:from imageio import imread
改用imageio库同样能够完成此功能
修改后代码(记得安装imageio库):
import jieba
from jieba import analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from imageio import imread
f=open('西游记.txt','r',encoding='utf-8')
s=f.read()
f.close()
lst=analyse.extract_tags(s,topK=50,withWeight = True)
dic={x[0]:x[1] for x in lst}
mk = imread("圆形.png")
w=WordCloud(font_path='c:\Windows\Fonts\simhei.ttf',background_color='white',mask=mk).generate_from_frequencies(dic)
plt.imshow(w)
plt.axis('off')
plt.show()