如何从具有词频的CSV文件生成词云

How to generate word cloud from CSV file with word frequencies

我有一个包含以下格式数据的 CSV 文件

column1 column2
hello     1
film      9
chicken   20
etc       etc

如何使用python这样的文件生成词云?我尝试使用 Andreas Mueller 的 wordcloud 包,但它不接受 csv。我也尝试使用 generate_from_frequencies 选项

reader = csv.reader(open('wordcount.csv', 'r',newline='\n'))
d = {}

for k,v in reader:
    d[k] = v

 # Generate a word cloud image
 wordcloud = WordCloud().generate_from_frequencies(d) 

但一直出现如下错误。

File "wordcloudtest.py", line 22, in <module>
    wordcloud = WordCloud().generate_from_frequencies(d)
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\wordcloud\wordcloud.py", line 360, in generate_from_frequenci
    for word, freq in frequencies]
  File "C:\Users\Lenovo\Anaconda3\lib\site-packages\wordcloud\wordcloud.py", line 360, in <listcomp>
    for word, freq in frequencies]
TypeError: unsupported operand type(s) for /: 'str' and 'float'

将值转换为浮点数。

d[k] = float(v)

CSVreader 为您提供字符串,而 generate_from_frequencies 需要从 strfloat 的字典。