0Pricing
Python Academy · Aula

Processamento em lote de relatórios

Gere relatórios automaticamente

Processamento em lote de relatórios é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Automatizando relatórios repetitivos

O verdadeiro benefício do openpyxl é a automação: gerar dezenas de relatórios semelhantes sem trabalho manual. Pense em planilhas mensais de vendas por região ou em um arquivo de resumo por cliente.

O padrão é: percorrer grupos de dados, criar uma pasta de trabalho para cada grupo e salvar com um nome exclusivo.

Agrupando os dados

Os relatórios em lote começam agrupando registros, por exemplo, por região. O Python padrão lida com isso de forma simples antes que qualquer trabalho com o Excel comece.

records = [
    {'region': 'North', 'sales': 100},
    {'region': 'South', 'sales': 80},
    {'region': 'North', 'sales': 120},
]
groups = {}
for r in records:
    groups.setdefault(r['region'], []).append(r['sales'])
for region, sales in groups.items():
    print(region, sales, 'total', sum(sales))

Um arquivo por grupo

Para cada grupo, você cria uma pasta de trabalho, escreve as linhas e salva usando um nome derivado da chave do grupo. O corpo do ciclo é o mesmo código que você escreveu para um único relatório, apenas repetido.

Nomes de arquivo seguros

As chaves dos grupos podem conter caracteres inválidos em nomes de arquivo. Primeiro, higienize-as para que o salvamento nunca falhe. Esta é a mesma ideia de gerar identificadores amigáveis usada em outros contextos.

import re
name = 'North/West Region 2024'
safe = re.sub(r'[^A-Za-z0-9]+', '_', name).strip('_')
print('report_' + safe + '.xlsx')

Uma função de modelo reutilizável

Extraia o layout do relatório para uma única função que recebe dados e retorna uma pasta de trabalho. Chamá-la no ciclo mantém todos os relatórios consistentes e o código DRY (não repita seu código).

A função definiria os cabeçalhos, escreveria as linhas, adicionaria os totais e estilos e, depois, retornaria wb.

Adicionando uma linha de resumo

A maioria dos relatórios termina com totais. Calcule as agregações no Python ou com uma fórmula do Excel e escreva-as como a última linha. Aqui, calculamos os valores do resumo.

sales = [100, 120, 90, 110]
summary = {
    'count': len(sales),
    'total': sum(sales),
    'average': sum(sales) / len(sales),
    'max': max(sales),
}
for k, v in summary.items():
    print(k.ljust(8), v)

Várias planilhas em um arquivo

Às vezes, um arquivo com uma aba por grupo é melhor do que muitos arquivos. Percorra os grupos e chame wb.create_sheet(title=group_name), gravando cada grupo em sua própria aba. Salve uma vez no final.

Organizando pastas de saída

Grave os relatórios em um diretório de saída com a data, para que as execuções não substituam umas às outras. Use os.makedirs(path, exist_ok=True) para criá-lo com segurança e, em seguida, acrescente os nomes dos arquivos a ele.

import os
base = 'reports'
run_date = '2026-05-30'
out_dir = os.path.join(base, run_date)
path = os.path.join(out_dir, 'north.xlsx')
print('Would create dir:', out_dir)
print('File path:', path)

Tratamento de erros em lotes

Em um lote longo, um grupo com problema não deve interromper o restante. Envolva cada relatório em um try/except, registre a falha e continue. Uma execução parcial que termina é melhor do que uma execução completa que falha no meio.

Agendando a tarefa

Quando o script funcionar, agende-o (com cron, Task Scheduler ou uma tarefa de integração contínua) para ser executado todas as noites ou todos os meses. Assim, o mesmo código produzirá relatórios atualizados automaticamente, sem intervenção humana.

Registrando o progresso

Lotes longos se beneficiam de informações de progresso. Imprima ou registre qual grupo está sendo processado e quantos ainda faltam, para que você consiga distinguir uma execução lenta de uma execução travada. Um contador simples em relação ao total é suficiente.

O registro também fornece um histórico de quais relatórios foram concluídos com sucesso, caso você precise executar novamente apenas os que falharam.

Verificação rápida

Teste seus conhecimentos sobre automação de lotes.

Recapitulação

Agora você consegue automatizar a geração de relatórios:

  • Agrupe os dados e percorra os grupos, criando uma pasta de trabalho (ou uma planilha) para cada grupo
  • Coloque o layout em uma função de modelo reutilizável
  • Limpe os nomes dos arquivos e grave-os em pastas de saída com a data
  • Adicione linhas de resumo, envolva cada relatório em try/except e agende o script

Isso transforma horas de trabalho manual com planilhas em uma tarefa executada com um único comando.

Perguntas Frequentes

A aula “Processamento em lote de relatórios” é grátis?

Sim — o texto completo de “Processamento em lote de relatórios” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Processamento em lote de relatórios”?

Gere relatórios automaticamente Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Processamento em lote de relatórios”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Leitura de pastas de trabalho
  2. Escrita e estilização de células
  3. Fórmulas e gráficos
  4. Processamento em lote de relatórios
← Voltar para Python Academy