Compartilhamento de tecnologia

Python lê arquivos de palavras e desenha diagramas de nuvem de palavras

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Instale as bibliotecas necessárias

pip install python-docx wordcloud matplotlib
  • 1

2. Código completo

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()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3. Modifique erros distorcidos em chinês

Perceber:
Se houver caracteres chineses distorcidos, você poderá modificá-los das seguintes maneiras:
Insira a descrição da imagem aqui
Adicionar fonte

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

Insira a descrição da imagem aqui

O efeito após a modificação:
Insira a descrição da imagem aqui

4. Explicação detalhada

Explicação detalhada

Biblioteca de instalação:

  • python-docx: usado para ler arquivos do Word.
  • wordcloud: usado para gerar diagramas de nuvem de palavras.
  • matplotlib: usado para exibir gráficos de nuvem de palavras.

Leia o conteúdo do arquivo Word:

  • Use a classe Document de python-docx para ler arquivos do Word.
  • Itere sobre os parágrafos do documento, adicionando o texto de cada parágrafo a uma lista.
  • Combine o texto de todos os parágrafos em uma única string.

Gerar diagrama de nuvem de palavras:

  • Use a classe WordCloud do wordcloud para gerar um gráfico de nuvem de palavras.
  • Defina a largura, altura e cor de fundo da nuvem de palavras.
  • Chame o método generate para gerar um gráfico de nuvem de palavras.
  • Use matplotlib para exibir gráficos de nuvem de palavras.

Precauções

  • Certifique-se de que o caminho do arquivo do Word esteja correto.
  • Você pode ajustar os parâmetros do diagrama de nuvem de palavras conforme necessário, como cor, fonte, etc.
  • Se houver muitas palavras comuns ou palavras irrelevantes em seu texto, você pode excluí-las usando o parâmetro stopwords do WordCloud.

Através das etapas acima, você pode ler facilmente arquivos do Word e gerar lindos diagramas de nuvem de palavras.