Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Automatizar geração de .doc/odt

26 views
Skip to first unread message

Fabio Bairros

unread,
Nov 27, 2024, 12:31:59 PM11/27/24
to python...@googlegroups.com
Saudações.

Alguma dica/exemplo para automatizar a geração de documentos no formato .DOC (e/ou ODT) a partir de dados fornecidos ?


At.te,
Fabio Bairros

Andrey Santos

unread,
Nov 27, 2024, 12:46:39 PM11/27/24
to python...@googlegroups.com
Biblioteca python-docx

from docx import Document

# Dados fornecidos
dados = {
    "Título": "Relatório Mensal",
    "Autor": "Thaynan Andrey",
    "Seções": [
        {"título": "Introdução", "conteúdo": "Este relatório detalha as atividades do mês."},
        {"título": "Resultados", "conteúdo": "Os resultados indicam um crescimento de 20%."},
        {"título": "Conclusão", "conteúdo": "As metas foram atingidas com sucesso."},
    ]
}

# Criando o documento
doc = Document()
doc.add_heading(dados["Título"], level=1)
doc.add_paragraph(f"Autor: {dados['Autor']}")

# Adicionando seções
for secao in dados["Seções"]:
    doc.add_heading(secao["título"], level=2)
    doc.add_paragraph(secao["conteúdo"])

# Salvando o arquivo
doc.save("relatorio_mensal.docx")
______________________________________________________________________________________________________

A biblioteca pyodf é útil para trabalhar com arquivos  .odt

from odf.opendocument import OpenDocumentText
from odf.text import P, H

# Dados fornecidos
dados = {
    "Título": "Relatório Mensal",
    "Seções": [
        {"título": "Introdução", "conteúdo": "Este relatório detalha as atividades do mês."},
        {"título": "Resultados", "conteúdo": "Os resultados indicam um crescimento de 20%."},
        {"título": "Conclusão", "conteúdo": "As metas foram atingidas com sucesso."},
    ]
}

# Criando o documento
doc = OpenDocumentText()

# Adicionando título
doc.text.addElement(H(outlinelevel=1, text=dados["Título"]))

# Adicionando seções
for secao in dados["Seções"]:
    doc.text.addElement(H(outlinelevel=2, text=secao["título"]))
    doc.text.addElement(P(text=secao["conteúdo"]))

# Salvando o arquivo
doc.save("relatorio_mensal.odt") 

Prof.Thaynan Andrey Lucena 

Engenheiro 
Cientista de Dados 



--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver esta conversa, acesse https://groups.google.com/d/msgid/python-brasil/CALZ%2BQOrrC7WQy2UWCCvXAzzz-CeP0fuzOWw71T_0w-6gQUrOeQ%40mail.gmail.com.

Fabio Bairros

unread,
Nov 30, 2024, 7:52:15 AM11/30/24
to python...@googlegroups.com
Saudações e agradeço pelo retorno.

E para adicionar parágrafos as seções com conteúdo?
Aproveitando, como seria possível no mesmo código, interfacear com ferramentas generativas de textos para solicitar conteúdos ?


Atenciosamente,
Fabio Bairros


Reply all
Reply to author
Forward
0 new messages