02词云生成器
2026/9/14 23:10:25 网站建设 项目流程

1.任务目标

基于 Task01 词频统计的核心逻辑,复刻文本清洗、词频统计代码,结合第三方库生成英文词云图

2.步骤

步骤1:安装第三方依赖库

pip install wordcloud matplotlib

步骤2:复刻基础功能代码

导入 string 模块,完整复刻读取文件、清洗文本、统计词频三个核心函数

# 第一步 读取文章 def read_file(filename): f = open(filename, encoding = "utf-8") # 读取文件 text = f.read() # 把 f 里的内容读出来,存进变量 text # print(text) # 验证 return text # 第二步 转小写 def clean_split(text): text_lower = text.lower() # 将所有单词转成小写,并存进text_lower # print(text_lower) # 验证 # 第三步 去标点 text_clean = "" for ch in text_lower: if ch not in string.punctuation: text_clean += ch # print (text_clean) # 验证 # 第四步 将单词切分放入列表 words = text_clean.split() # 切割成单词,返回列表words print(len(words)) return words # print(words) # 验证 # 第五步 统计单词 def count_words(text): counts = {} for word in text: if word in counts: # 这个单词已经见过了 counts[word] += 1 else: # 头一次见 counts[word] = 1 return counts

步骤3:封装词云生成函数

自定义 generate_wordcloud(counts) 函数,接收词频字典,配置词云尺寸、背景色、最大词数,生成并保存、展示词云图片

# 定义词云生成函数:接收词频字典,生成、保存、展示词云图 def generate_wordcloud(counts): # 配置词云画布基础参数:图片宽、高、背景色、最大展示单词数 wc = WordCloud( width=1000, height=600, background_color="white", max_words=100 ) # 根据词频字典自动生成词云:频次越高、字体越大,无需手动排序 wc.generate_from_frequencies(counts) # 将生成的词云保存为图片,自动存入当前项目文件夹 wc.to_file("wordcloud.png") # 加载词云图片用于窗口展示 plt.imshow(wc) # 关闭坐标轴,界面更整洁 plt.axis("off") # 弹出窗口展示最终词云效果图 plt.show()

步骤4:串联代码执行流程

######主函数##### if __name__ == "__main__": # 1. 读取本地文本文件 content = read_file("article.txt") # 2. 文本清洗,得到纯单词列表 word_list = clean_split(content) # 3. 统计词频,生成词频字典 word_counts = count_words(word_list) # 4. 传入词频字典,生成并展示词云图 generate_wordcloud(word_counts)

步骤5:运行代码验证效果

运行程序,task02_wordcloud 目录下自动生成 wordcloud.png 图片,即为运行成功

3.总结

1、为什么独立文件夹下,不推荐导入 Task01 代码?

独立文件夹目的是项目解耦、任务隔离,保证每个项目可独立运行。跨目录依赖会导致代码耦合、移植报错,因此采用复刻代码方式。

2、词云传列表和传字典有什么区别?

传列表:库内部重复统计词频,性能差、不可控;传字典:我们提前统计好权重,精准、高效。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询