Criar um relatório semanal com IA a partir de registros CSV
Crie um relatório semanal com IA a partir de registros CSV e confira horas e tarefas concluídas com Python. Use um prompt para separar trabalho concluído, em andamento, planejado e bloqueado.
Conteúdo verificado 2026.09.23Inclui código de exemplo
Ver o sumário
A tradução foi feita com IA. Confira o código, as unidades e os valores junto com o original. A revisão por falantes nativos de cada idioma ainda não foi concluída. English
Para quem éPara quem mantém registros diários curtos e quer usar IA para redigir relatórios semanais sem perder o controle sobre horas, contagens e dados factuais.
Preparação
Python 3.12
Um arquivo CSV simples contendo o registro diário de trabalho
01Por que conferir os números de um relatório semanal escrito por IA?
A IA é útil para reorganizar anotações curtas de trabalho em um texto legível, mas não deve ser tratada como fonte de verdade para cálculos. Um relatório semanal pode parecer coerente e ainda assim alterar um total, contar uma atividade duas vezes ou apresentar uma tarefa planejada como concluída. Um fluxo mais seguro separa a redação narrativa da conciliação numérica.
Use o registro de trabalho como fonte factual.
Peça à IA para resumir apenas o que aparece no registro.
Calcule horas e contagens separadamente a partir dos dados estruturados.
Compare o relatório da IA com os totais calculados de forma independente.
Corrija o relatório antes de enviá-lo ou publicá-lo.
02Começar com um pequeno registro de trabalho sintético
O registro de trabalho abaixo é sintético. Cada linha registra uma atividade, as horas gastas e se ela foi concluída durante a semana. Manter esses campos estruturados facilita bastante a conciliação posterior.
date
task
hours
status
2026-09-14
Clean customer CSV
2.0
completed
2026-09-14
Draft import script
1.5
completed
2026-09-15
Test import script
2.5
completed
2026-09-16
Investigate duplicate IDs
1.0
completed
2026-09-17
Update validation rules
2.0
completed
2026-09-18
Prepare user notes
1.5
in progress
Calculando manualmente, as horas são 2.0 + 1.5 + 2.5 + 1.0 + 2.0 + 1.5 = 10.5 horas. Cinco das seis atividades têm status completed, então a quantidade de atividades concluídas é 5. A última atividade ainda está in progress e não deve ser contada como concluída.
03Pedir à IA que redija a partir do registro, não da memória
Cole o registro em um assistente de chat com IA e limite explicitamente a tarefa à reorganização e redação dos dados fornecidos. Peça também que a IA informe os totais para que eles possam ser conferidos depois.
Pedido à IA: usando apenas o registro de trabalho abaixo, escreva um relatório semanal conciso com três partes: trabalho concluído, trabalho ainda em andamento e totais da semana. Não invente resultados nem tarefas. Informe o total de horas registradas e o número de atividades concluídas. Preserve o significado original das tarefas.
Uma resposta típica da IA poderia dizer: nesta semana, os dados de clientes foram limpos, um script de importação foi elaborado e testado, IDs duplicados foram investigados e as regras de validação foram atualizadas. As anotações para usuários continuam em andamento. O tempo total registrado foi de 10.5 horas, com 5 atividades concluídas.
04Manter uma cópia estruturada para a conciliação
Salve o mesmo exemplo sintético como work_log.csv com as colunas date, task, hours e status. O script de conciliação deve ler diretamente esse arquivo-fonte, em vez de tentar recuperar números do texto escrito pela IA.
Métrica
Valor esperado a partir do registro
Linhas
6
Total de horas
10.5
Atividades concluídas
5
Atividades em andamento
1
Essa separação é importante: o CSV é a evidência, enquanto o relatório semanal é uma apresentação dessa evidência.
05Recalcular horas e contagens com Python
O script a seguir para Python 3.12 lê work_log.csv, valida os campos obrigatórios, soma as horas, conta os status e grava um relatório de conciliação em outputs/weekly_reconciliation.txt. Ele não sobrescreve um diretório outputs existente.
python
from pathlib import Path
import csv
input_path = Path("work_log.csv")
output_dir = Path("outputs")
if output_dir.exists():
raise SystemExit("outputs already exists; remove or rename it before running again")
if not input_path.exists():
raise SystemExit("work_log.csv was not found")
required_fields = {"date", "task", "hours", "status"}
rows = []
with input_path.open("r", encoding="utf-8", newline="") as f:
reader = csv.DictReader(f)
if reader.fieldnames is None:
raise SystemExit("CSV has no header")
missing = required_fields - set(reader.fieldnames)
if missing:
raise SystemExit(f"Missing columns: {sorted(missing)}")
for line_number, row in enumerate(reader, start=2):
try:
hours = float(row["hours"])
except ValueError:
raise SystemExit(f"Invalid hours value on line {line_number}")
if hours < 0:
raise SystemExit(f"Negative hours on line {line_number}")
status = row["status"].strip().lower()
if status not in {"completed", "in progress"}:
raise SystemExit(f"Unexpected status on line {line_number}: {status}")
rows.append({
"date": row["date"].strip(),
"task": row["task"].strip(),
"hours": hours,
"status": status,
})
total_hours = sum(row["hours"] for row in rows)
completed_count = sum(row["status"] == "completed" for row in rows)
in_progress_count = sum(row["status"] == "in progress" for row in rows)
output_dir.mkdir()
report_path = output_dir / "weekly_reconciliation.txt"
report = (
f"Rows: {len(rows)}\n"
f"Total hours: {total_hours:.1f}\n"
f"Completed activities: {completed_count}\n"
f"In-progress activities: {in_progress_count}\n"
)
report_path.write_text(report, encoding="utf-8")
print(report, end="")
print(f"Saved: {report_path}")
06Comparar o relatório da IA com os valores calculados
Neste exemplo, os valores esperados calculados de forma independente são 10.5 horas no total e 5 atividades concluídas. Compare esses valores com todas as afirmações numéricas do rascunho gerado pela IA.
Verificação
Resultado do registro
Rascunho da IA
Decisão
Total de horas
10.5
10.5
Corresponde
Atividades concluídas
5
5
Corresponde
Atividades em andamento
1
As anotações para usuários continuam em andamento
Consistente
Compare cada número do relatório da IA com a saída da conciliação.
Confirme que atividades concluídas e em andamento não foram misturadas.
Compare a descrição das tarefas com o registro original para verificar se nenhum resultado foi inventado.
Se o total da IA for diferente, use o cálculo do registro estruturado e revise o texto.
07Erros comuns e limitações
Somar os números do relatório da IA em vez de usar o registro original.
Contar todas as linhas como concluídas mesmo quando algumas ainda estão em andamento.
Tratar várias linhas do mesmo projeto como uma única tarefa sem definir essa regra de contagem.
Permitir que a IA deduza resultados que não estejam registrados explicitamente.
Alterar a forma de escrever os status no registro sem atualizar os valores aceitos pelo script.
Ignorar linhas ausentes, valores de horas inválidos ou entradas duplicadas antes de calcular os totais.
Este exemplo conta atividades concluídas por linha. Em uma organização real, a contagem pode usar tickets, entregáveis, projetos ou marcos, portanto a regra deve ser definida antes da conciliação. O script também verifica apenas aritmética e status simples; ele não consegue determinar se uma entrada do registro é verdadeira nem se a qualidade do trabalho realizado foi suficiente.
Prompt de relatório semanal de trabalho que separa tarefas concluídas, em andamento, planejadas e bloqueadas
Ao resumir um registro de trabalho em um relatório semanal, é melhor não misturar em um mesmo parágrafo tarefas com status diferentes. Solicitar seções separadas para trabalho concluído, trabalho ainda em andamento, planos para a próxima semana e questões que bloqueiam o progresso facilita a comparação com o texto original. Uma célula vazia em um CSV pode ter um significado diferente de um valor real 0, por isso é importante impedir que a IA interprete automaticamente campos em branco como zero. Além disso, pedir que cada item resumido inclua o número da linha ou o identificador do registro original facilita encontrar omissões ou duplicações ao conferir posteriormente horas e contagens com Python.
Prompt
Use o registro de trabalho CSV abaixo para criar um rascunho de relatório semanal de trabalho.
Estrutura do relatório:
1. Trabalho concluído
2. Trabalho em andamento
3. Planos para a próxima semana
4. Questões bloqueadoras ou itens que precisam de confirmação
Regras:
- Depois de cada item, inclua o número da linha do texto original ou o identificador de linha fornecido que o sustenta.
- Não transforme arbitrariamente trabalho concluído em trabalho em andamento nem o contrário.
- Se os planos para a próxima semana não estiverem no texto original, não invente novos planos como fatos. Escreva “Não há informações de planejamento no texto original”.
- Se nenhuma questão bloqueadora estiver registrada, não conclua “0 questões bloqueadoras”. Escreva “Nenhuma questão bloqueadora registrada”.
- Não converta automaticamente células vazias do CSV no número 0 nem em “nenhum”.
- Preserve os valores originais de horas, contagens, tarefas concluídas e outros números. Se for necessário fazer um cálculo, mostre também a fórmula.
- Ao combinar tarefas de linhas diferentes, verifique se o significado original não mudou.
- No final, liste separadamente os itens numéricos que devem ser conferidos com Python sob o título “Itens para verificar”.
Registro de execução e verificação
ChatGPT Python tool · Python 3.x · standard library only
O script foi concluído com sucesso no work log sintético exato.
A saída informou Rows: 6.
A saída informou Total hours: 10.5, correspondendo a 2.0 + 1.5 + 2.5 + 1.0 + 2.0 + 1.5.
A saída informou Completed activities: 5.
A saída informou In-progress activities: 1.
Esses valores correspondem à tabela expected-values e à tabela de comparação AI-report do artigo.
O script criou outputs/weekly_reconciliation.txt com exatamente as quatro métricas de reconciliation informadas.
work_log.csv permaneceu inalterado após a execução.
Uma segunda execução foi interrompida com 'outputs already exists; remove or rename it before running again', confirmando o comportamento de não sobrescrita informado.
Limites da verificação
O script verifica as hours registradas e as contagens de status, mas não consegue determinar se as entradas originais do work-log são factualmente completas ou precisas.
A regra de counting trata cada CSV row como uma activity, conforme informado no artigo.
O ambiente de execução Python emitiu um aviso não relacionado de aquecimento do ambiente de planilhas; isso não afetou o script do artigo nem sua saída.
Fontes de referência
As explicações e os exemplos são de elaboração própria. Os comportamentos e conceitos relacionados podem ser consultados nas fontes oficiais abaixo.
Transforme “automatize isso” em uma descrição de tarefa executável. Anexe uma amostra sintética sem dados sensíveis e um resultado esperado verificado manualmente para completar uma solicitação de script que totaliza registros de trabalho por equipe.
Verifique uma função de agregação com quatro linhas que você pode calcular manualmente e 12 unit tests. Verifique não apenas valores normais, mas também entrada vazia, zero, decimais e entrada inválida.
Compare um relatório de IA com os dados de origem, recalcule totais e percentuais e use um prompt para identificar afirmações sem respaldo e causas exageradas antes da entrega.
Trate uma regex gerada por IA como um rascunho, não como uma regra final. Monte uma pequena tabela de testes sintéticos, compare os resultados esperados com as correspondências reais, revise o padrão e salve um relatório de revisão antes de usá-lo em dados reais.
Aprenda a transformar um texto curto em uma estrutura de apresentação para PPT com IA sem acrescentar fatos sem suporte, criar um prompt para um roteiro de 6 slides com uma mensagem principal, evidências, notas do apresentador e sugestões visuais, e revisar manualmente números, interpretações, imagens e informações sensíveis.