import pandas as pd from collections import Counter from wordcloud import WordCloud import matplotlib.pyplot as plt # 读取弹幕文件 def read_danmakus_from_file(file_path): with open(file_path, 'r', encoding='utf-8') as file: return [line.strip() for line in file if line.strip()] # 移除空行并去除每行的前后空白字符 # 生成词云 def generate_wordcloud(danmakus): # 合并所有弹幕文本 text = ' '.join(danmakus) # 创建词云对象 wordcloud = WordCloud( font_path='simhei.ttf', # 设置字体路径,确保支持中文 width=800, height=400, background_color='white' # 设置背景颜色 ).generate(text) # 显示词云图 plt.figure(figsize=(10, 5)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') plt.show() # 保存词云图到文件 wordcloud.to_file('wordcloud.png') # 读取弹幕数据 danmaku_file_path = '弹幕.txt' danmakus = read_danmakus_from_file(danmaku_file_path) # 生成词云 generate_wordcloud(danmakus)