Bootstrap

Python读取word文件并绘制词云图

1、安装必要的库

pip install python-docx wordcloud matplotlib

2、完整代码

import docx
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取Word文件内容
def read_word_file(file_path):
    doc = docx.Document(file_path)
    full_text = []
    for para in doc.paragraphs:
        full_text.append(para.text)
    return '\n'.join(full_text)

# 生成词云图
def generate_wordcloud(text):
    wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
    
    # 显示词云图
    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()

# 主函数
def main():
    file_path = 'your_word_file.docx'  # 替换为你的Word文件路径
    text = read_word_file(file_path)
    generate_wordcloud(text)

if __name__ == "__main__":
    main()

3、修改中文乱码错误

注意:
要是出现中文乱码的情况,可以用以下方式修改:
在这里插入图片描述
添加字体

wordcloud = WordCloud(width=800, height=400, background_color='white', font_path='simhei.ttf').generate(text)

在这里插入图片描述

修改之后的效果:
在这里插入图片描述

4、详细解释

详细解释

安装库:

  • python-docx:用于读取Word文件。
  • wordcloud:用于生成词云图。
  • matplotlib:用于显示词云图。

读取Word文件内容:

  • 使用python-docx的Document类读取Word文件。
  • 遍历文档中的段落,将每个段落的文本添加到一个列表中。
  • 将所有段落的文本合并为一个字符串。

生成词云图:

  • 使用wordcloud的WordCloud类生成词云图。
  • 设置词云图的宽度、高度和背景颜色。
  • 调用generate方法生成词云图。
  • 使用matplotlib显示词云图。

注意事项

  • 确保你的Word文件路径正确。
  • 可以根据需要调整词云图的参数,如颜色、字体等。
  • 如果文本中有很多常见词或停用词,可以使用WordCloud的stopwords参数排除它们。

通过以上步骤,你可以轻松地读取Word文件并生成漂亮的词云图。

;