对文本分析有一个直观的可视化--那就是词云图.
关于词云图的生成,我现在就分享一下我的代码,希望对读者有所帮助,代码如下:
import pandas as pd
from wordcloud import WordCloud
import openpyxl
import os
from PIL import Image
import numpy as np
path='词云图'
files=[path+'\\'+file for file in os.listdir(path)]
mask=np.array(Image.open(r'D:\pythonfile\all_document\已完成订单\450项目(豆瓣电影)\picture.png')) #词云图背景
for file in files:
wb = openpyxl.load_workbook(file)
ws = wb.active
word_dict = {}
for i in range(2, ws.max_row + 1):
word = ws['A' + str(i)].value
count = ws['B' + str(i)].value
word_dict[word] = count
# 定义词云图样式
wc = WordCloud(font_path='simhei.ttf',
max_words=50,
max_font_size=100,
background_color='white',
mask=mask
)
wc.generate_from_frequencies(word_dict)
new_file=file.split('\\')[1][:4]
wc.to_file(f'词云图\\{new_file}.png')
首先在创建词云图得选择一张背景图(mask),可以对代码中mask的赋值进行改动,来改变词语图背景的图案,以下为我的选择
最终生成的效果图,如下:
词云图有很多样式,大家自己尝试尝试吧