Todo mês o mesmo ritual: abrir quatro planilhas diferentes, copiar colunas específicas, formatar, somar, ajustar datas, salvar como PDF, enviar por e-mail.
2 horas de trabalho. Todo mês. Sem falhar.
Até eu automatizar isso com Python em uma tarde.
O problema
Tínhamos quatro planilhas Excel com dados de contratos diferentes. Precisávamos:
- Consolidar os dados em uma tabela única
- Calcular totais por categoria
- Formatar tudo num padrão específico
- Exportar como PDF com o logo da organização
A solução
Usei duas bibliotecas principais: openpyxl para ler e manipular os arquivos Excel, e ReportLab para gerar o PDF.
import openpyxl
from pathlib import Path
def consolidar_planilhas(pasta: str) -> list[dict]:
dados = []
for arquivo in Path(pasta).glob("*.xlsx"):
wb = openpyxl.load_workbook(arquivo)
ws = wb.active
for linha in ws.iter_rows(min_row=2, values_only=True):
if linha[0]: # ignora linhas vazias
dados.append({
"contrato": linha[0],
"valor": linha[3],
"categoria": linha[5],
"vencimento": linha[7],
})
return dados
O código completo tem menos de 100 linhas e roda com um duplo clique (empacotei com PyInstaller para que meus colegas pudessem usar sem instalar Python).
O resultado
- Antes: ~2h por mês de trabalho manual
- Depois: ~3 segundos de execução + revisão de 5 minutos
O script está disponível no meu GitHub — documentado para que qualquer pessoa consiga adaptar para seu contexto.
Lição
Programação aplicada ao seu trabalho atual é a forma mais eficiente de praticar. Você resolve um problema real, tem motivação para terminar, e no final tem um projeto para mostrar que funciona em produção.
Não subestime isso ao montar seu portfólio.