有txt文本和圖片,就能用python生成詞雲圖


使用現有的txt文本和圖片,就可以用wordcloud包生成詞雲圖。大致步驟是:

1、讀取txt文本並簡單處理;

2、讀取圖片,以用作背景;

3、生成詞雲對象,保存為文件。

需要用到3個庫:jieba(用於分割文本為詞語)、imageio(用於讀取圖片)、wordcloud(功能核心,用於生成詞雲)。

我用簡歷和我的照片,生成了一個詞雲圖:

 

代碼如下:

import jieba
import imageio
import wordcloud


# 讀取txt文本
with open('resume.txt','r',encoding='utf-8') as f:
    text = f.read()

# 簡單處理文本,刪除空格等多余字符
text = text.replace(' ','').replace('\t','').replace('\n','')
# 使用jieba分隔詞語
wordlist = jieba.lcut(text)   # ['aa','bb','cc'...]
# print(wordlist)
# 用空格連接各個詞語,又形成一個大字符串
string = ' '.join(wordlist)   # 'aa bb cc'

# 讀取圖片
image = imageio.imread('ding.jpg')


# 生成詞雲圖片
# 先實例化一個詞雲對象
wc = wordcloud.WordCloud(width=image.shape[0],  # 詞雲圖寬度同原圖片寬度
                        height=image.shape[1],
                        background_color='white',  # 背景顏色白色
                        font_path='msyh.ttc',  # 指定字體路徑,微軟雅黑,可從win自帶的字體庫中找
                        mask=image,   # mask 指定詞雲形狀圖片,默認為矩形
                        scale=3)   # 默認為1,越大越清晰
# 再給詞雲輸入文字
wc.generate(string)
# 保存成文件
wc.to_file('wordcloud21.png')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM