![](/img/trans.png)
[英]How to save a image file from a wordcloud generated with Texthero
[英]How to view and save the WordCloud generated in Python
我正在嘗試從.csv
文件中生成Python中的 WordCloud。
這就是我的.csv
文件的樣子:
title,views
universe,45678
earth,34366
smtp,4567987
這就是我創建WordCloud 所做的:
import csv
import matplotlib.pyplot as pPlot
from wordcloud import WordCloud, STOPWORDS
reader = csv.reader(open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', newline = '\n', encoding = 'utf-8'))
for k, v in reader:
d[k] = float(v)
wordcloud = WordCloud().generate_from_frequencies(d)
如果我打印WordCloud ,我會得到一個 object id 。
誰能建議如何將其保存為圖像以及如何在 Python 上查看它?
首先,您的代碼中有一些錯誤:
1 、 .csv
文件必須放在一個list
才能讀取:
with open('C:/Users/Sushma/Downloads/wordcloud.csv', 'r', encoding = 'utf8', newline = '\r\n') as file:
reader = csv.reader(file, skipinitialspace = False, delimiter = ',', quoting = csv.QUOTE_NONE)
data = list(reader)
2.之后,必須創建一個dictionary
,其中包含int
格式的鍵和值,以便稍后我們可以創建WordCloud :
word_freq = {}
for k, v in data[1:]:
word_freq[k] = int(v)
現在,您需要創建一個variable
來接收文本與其頻率之間的乘積:
text = ' '.join([(k + ' ') * v for k, v in word_freq.items()])
然后,您將創建將接收此變量text
的WordCloud :
wordcloud = WordCloud(width = 1600,
height = 800,
background_color = 'white',
collocations = False,
repeat = True).generate_from_text(text)
plt.figure(figsize=(10,5))
plt.imshow(wordcloud, interpolation = "bilinear")
plt.axis('off')
現在您可以簡單地保存生成的WordCloud :
plt.savefig(f'wordcloud.png',
dpi = 300)
到 plot(可視化)只需使用:
plt.show()
最后結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.