请问有谁可以帮忙看一看吗 顺便对每个空做一个简单的解释 我有点不太清楚 谢谢了谢谢了
import pandas as pd
import os, jieba, re, random, wordcloud
import matplotlib.pyplot as plt
from PIL import Image
# 测试文件夹
wzdir = "testFiles/"
wz = os.listdir(wzdir) # 获得文件夹中所有文件的名称列表
# 从文章列表中随机取一篇文章
wzrd = random.sample(wz, 1) # sample sample(list, k)返回一个长度为k新列表
# print(wzrd)
# 打开文件,设置编码未utf-8
f = open(wzdir + wzrd[0], encoding="utf-8")
dd = f.read() # 读取文件内容
f.close()
# 使用正则表达式去除文章中的标点符号
ss = re.sub("[、,。“”;?\n]", "", dd)
# 对处理后的文本字符串进行分词
wb = jieba.lcut(ss, cut_all=True)
# print(wb)
word = {}
for i in wb:
# 去掉首尾空格
t = i.strip()
# print(t)
# 判断词的长度是否大于1
if len(t) > 1:
# 判断该词组是否已在字典中
if t in word:
# 若存在,则词频计数加1
word[t] += 1
else:
# 若不在字典中,则添加到字典(键为词组内容,值为1)
# word.update({f'{t}': 1})
word[t] = 1
# for key, value in word.items():
# print(f'{key}--{value}')
wc = wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\STXINGKA.TTF', width=800, height=600)
wc.background_color = "white" # 设置背景色
wc.fit_words(word) # 由单词和频率创建word_cloud
img = wc.to_array() # 图片转换为数组
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体,支持中文显示
plt.figure()
plt.imshow(img) # 显示图像
plt.axis(False) # 隐藏坐标轴
plt.title(wzrd[0].split(".")[0]) # 设置标题
plt.show() # 显示figure