我正在尝试从csv文件创建wordcloud.以csv文件为例,它具有以下结构:
a,1
b,2
c,4
j,20
Run Code Online (Sandbox Code Playgroud)
它有更多的行,或多或少1800.第一列有字符串值(名称),第二列有各自的频率(int).然后,读取文件并将键值行存储在字典中(d),因为稍后我们将使用它来绘制wordcloud:
reader = csv.reader(open('namesDFtoCSV', 'r',newline='\n'))
d = {}
for k,v in reader:
d[k] = v
Run Code Online (Sandbox Code Playgroud)
一旦我们有了充满价值的字典,我会尝试绘制wordcloud:
#Generating wordcloud. Relative scaling value is to adjust the importance of a frequency word.
#See documentation: https://github.com/amueller/word_cloud/blob/master/wordcloud/wordcloud.py
wordcloud = WordCloud(width=900,height=500, max_words=1628,relative_scaling=1,normalize_plurals=False).generate_from_frequencies(d)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是抛出了一个错误:
Traceback (most recent call last):
File ".........../script.py", line 19, in <module>
wordcloud = WordCloud(width=900,height=500, max_words=1628,relative_scaling=1,normalize_plurals=False).generate_from_frequencies(d)
File "/usr/local/lib/python3.5/dist-packages/wordcloud/wordcloud.py", line 360, in generate_from_frequencies
for word, freq in frequencies]
File "/usr/local/lib/python3.5/dist-packages/wordcloud/wordcloud.py", line 360, in <listcomp>
for …Run Code Online (Sandbox Code Playgroud)