Três bibliotecas cobrem a maior parte da automação de documentos em Python: openpyxl para Excel, python-docx para Word e reportlab para geração de PDF - comum em fluxos de trabalho de relatórios, exportações e conformidade.
from docx import Documentdoc = Document("template.docx")for p in doc.paragraphs: if "{{NAME}}" in p.text: p.text = p.text.replace("{{NAME}}", "Ada Lovelace")buf = BytesIO()doc.save(buf)
Carregar xlsx não confiável - Existem variantes de XML bombs e billion-laughs. Correção: limites de tamanho, verificação de vírus, análise em worker de sandbox.
Fórmulas vs valores - load_workbook retorna fórmulas por padrão. Correção:data_only=True para valores exibidos (desatualizados até o Excel abrir).
Recursos não suportados pelo python-docx - Cabeçalhos/rodapés em modelos complexos podem falhar. Correção: simplifique o modelo ou use modelos docx mantidos no Word.
Licenciamento de fontes do reportlab - Incorpore apenas fontes licenciadas para PDFs comerciais. Correção: use Helvetica embutido ou TTF licenciado.
Memória em grandes exportações - Construir um xlsx de um milhão de linhas na RAM causa OOM. Correção: CSV para dados grandes, ou gravações em blocos com o modo write_only=True.
Localização e datas no Excel - O Excel exibe o formato local; armazene ISO nos dados de origem. Correção: formatos de número explícitos em openpyxl.