Crear un informe semanal con IA a partir de registros CSV
Redacta un informe semanal con IA a partir de registros CSV y verifica horas y tareas completadas con Python. Usa una instrucción para separar trabajo completado, en curso, planificado y bloqueado.
Contenido revisado 2026.09.23Incluye código de ejemplo
Ver el índice
La traducción se ha realizado con IA. Comprueba el código, las unidades y los valores junto con el original. La revisión por hablantes nativos de cada idioma aún no se ha completado. English
Para quién esPara personas que llevan registros diarios breves y quieren usar IA para redactar informes semanales sin perder el control de las horas, los recuentos y los datos.
Preparación
Python 3.12
Un archivo CSV sencillo que contenga el registro diario de trabajo
01¿Por qué conciliar los números de un informe semanal escrito por IA?
La IA es útil para reorganizar notas de trabajo breves en un texto legible, pero no debe considerarse la fuente de verdad para los cálculos. Un informe semanal puede sonar coherente y, aun así, cambiar un total, contar dos veces una actividad o presentar una tarea planificada como completada. Un flujo más seguro separa la redacción narrativa de la conciliación numérica.
Usa el registro de trabajo como fuente factual.
Pide a la IA que resuma únicamente lo que aparece en el registro.
Calcula las horas y los recuentos de forma independiente a partir de los datos estructurados.
Compara el informe de la IA con los totales calculados por separado.
Corrige el informe antes de enviarlo o publicarlo.
02Empezar con un pequeño registro de trabajo sintético
El siguiente registro de trabajo es sintético. Cada fila contiene una actividad, las horas dedicadas y si se completó durante la semana. Mantener estos campos estructurados facilita mucho la conciliación 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
Calculado a mano, el tiempo es 2.0 + 1.5 + 2.5 + 1.0 + 2.0 + 1.5 = 10.5 horas. Cinco de las seis actividades tienen el estado completed, por lo que el número de actividades completadas es 5. La última actividad sigue in progress y no debe contarse como completada.
03Pedir a la IA que redacte a partir del registro, no de su memoria
Pega el registro en un asistente de chat con IA y limita explícitamente la tarea a reorganizar y redactar los datos proporcionados. Pídele también que indique sus totales para poder comprobarlos después.
Petición a la IA: usando únicamente el registro de trabajo que aparece a continuación, redacta un informe semanal breve con tres partes: trabajo completado, trabajo aún en curso y totales semanales. No inventes resultados ni tareas. Indica el total de horas registradas y el número de actividades completadas. Conserva el significado original de las tareas.
Una respuesta típica de la IA podría decir: esta semana se limpiaron los datos de clientes, se redactó y probó un script de importación, se investigaron los ID duplicados y se actualizaron las reglas de validación. Las notas para usuarios siguen en curso. El tiempo total registrado fue de 10.5 horas, con 5 actividades completadas.
04Mantener una copia estructurada para la conciliación
Guarda el mismo ejemplo sintético como work_log.csv con las columnas date, task, hours y status. El script de conciliación debe leer directamente este archivo fuente en lugar de intentar recuperar los números del texto redactado por la IA.
Métrica
Valor esperado según el registro
Filas
6
Horas totales
10.5
Actividades completadas
5
Actividades en curso
1
Esta separación es importante: el CSV es la evidencia y el informe semanal es una presentación de esa evidencia.
05Recalcular horas y recuentos con Python
El siguiente script para Python 3.12 lee work_log.csv, valida los campos obligatorios, suma las horas, cuenta los estados y escribe un informe de conciliación en outputs/weekly_reconciliation.txt. No sobrescribe un directorio 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 el informe de la IA con los valores calculados
En este ejemplo, los valores esperados calculados de forma independiente son 10.5 horas totales y 5 actividades completadas. Compara esos valores con todas las afirmaciones numéricas del borrador generado por la IA.
Comprobación
Resultado del registro
Borrador de la IA
Decisión
Horas totales
10.5
10.5
Coincide
Actividades completadas
5
5
Coincide
Actividades en curso
1
Las notas para usuarios siguen en curso
Coherente
Compara cada número del informe de la IA con la salida de conciliación.
Confirma que no se mezclaron tareas completadas y tareas en curso.
Compara la redacción de las tareas con el registro original para comprobar que no se inventaron resultados.
Si el total de la IA es distinto, usa el cálculo del registro estructurado y corrige el texto.
07Errores habituales y límites
Sumar los números del informe de la IA en lugar de usar el registro original.
Contar todas las filas como completadas aunque algunas sigan en curso.
Tratar varias filas sobre el mismo proyecto como una sola tarea sin definir antes esa regla de recuento.
Permitir que la IA infiera logros que no están registrados explícitamente.
Cambiar la forma de escribir los estados en el registro sin actualizar los valores aceptados por el script.
Ignorar filas ausentes, valores de horas no válidos o entradas duplicadas antes de calcular los totales.
Este ejemplo cuenta las actividades completadas por fila. En una organización real, el recuento podría basarse en tickets, entregables, proyectos o hitos, por lo que la regla debe definirse antes de conciliar. El script solo comprueba aritmética y estados simples; no puede determinar si una entrada del registro es verdadera ni si la calidad del trabajo realizado fue suficiente.
Prompt para un informe semanal de trabajo que separa tareas completadas, en curso, planificadas y bloqueadas
Al resumir un registro de trabajo en un informe semanal, es mejor no mezclar en un mismo párrafo tareas con estados diferentes. Pedir secciones separadas para el trabajo completado, el trabajo todavía en curso, los planes de la semana siguiente y los asuntos que bloquean el avance facilita la comparación con el texto original. Una celda vacía de un CSV puede tener un significado distinto de un valor real de 0, por lo que conviene restringir que la IA interprete automáticamente los espacios vacíos como cero. Además, pedir que cada elemento resumido incluya el número de fila o el identificador del registro original facilita encontrar omisiones o duplicados al contrastar después horas y recuentos con Python.
Instrucción
Usa el registro de trabajo CSV siguiente para crear un borrador de informe semanal de trabajo.
Estructura del informe:
1. Trabajo completado
2. Trabajo en curso
3. Planes para la próxima semana
4. Asuntos bloqueantes o elementos que requieren confirmación
Reglas:
- Después de cada elemento, incluye el número de fila del texto original o el identificador de fila proporcionado que lo respalda.
- No cambies arbitrariamente trabajo completado por trabajo en curso ni al contrario.
- Si los planes de la próxima semana no aparecen en el texto original, no inventes nuevos planes como hechos. Escribe «No hay información sobre planes en el texto original».
- Si no se registra ningún asunto bloqueante, no concluyas «0 asuntos bloqueantes». Escribe «No hay asuntos bloqueantes registrados».
- No conviertas automáticamente las celdas vacías del CSV en el número 0 ni en «ninguno».
- Mantén los valores originales de horas, recuentos, tareas completadas y otras cifras. Si es necesario realizar un cálculo, muestra también la fórmula.
- Al combinar tareas de filas diferentes, comprueba que no haya cambiado el significado original.
- Al final, enumera por separado los elementos numéricos que deben contrastarse con Python bajo el encabezado «Elementos para verificar».
Registro de ejecución y verificación
ChatGPT Python tool · Python 3.x · standard library only
El script terminó correctamente con el work log sintético exacto.
La salida informó Rows: 6.
La salida informó Total hours: 10.5, coincidiendo con 2.0 + 1.5 + 2.5 + 1.0 + 2.0 + 1.5.
La salida informó Completed activities: 5.
La salida informó In-progress activities: 1.
Estos valores coinciden con la tabla expected-values y la tabla de comparación AI-report del artículo.
El script creó outputs/weekly_reconciliation.txt con exactamente las cuatro métricas de reconciliation indicadas.
work_log.csv permaneció sin cambios después de la ejecución.
Una segunda ejecución se detuvo con 'outputs already exists; remove or rename it before running again', confirmando el comportamiento de no sobrescritura indicado.
Límites de la verificación
El script verifica las horas registradas y los recuentos de status, pero no puede determinar si las entradas originales del work-log son de hecho completas o correctas.
La regla de counting trata cada CSV row como una activity, tal como se indica en el artículo.
El entorno de ejecución de Python emitió una advertencia no relacionada del calentamiento del entorno de hojas de cálculo; no afectó al script del artículo ni a su salida.
Fuentes de referencia
Las explicaciones y los ejemplos son de elaboración propia. Puedes consultar los comportamientos y conceptos relacionados en las siguientes fuentes oficiales.
Convierte “automatiza esto” en una descripción de tarea ejecutable. Adjunta una muestra sintética sin datos sensibles y un resultado esperado comprobado manualmente para completar una solicitud de script que totalice registros de trabajo por equipo.
Comprueba una función de agregación con cuatro filas que puedes calcular manualmente y 12 unit tests. Verifica no solo valores normales, sino también entrada vacía, cero, decimales y entrada no válida.
Compara un informe de IA con sus datos de origen, recalcula totales y porcentajes y usa una instrucción para detectar afirmaciones sin respaldo y causas exageradas antes de entregarlo.
Trata una expresión regular generada por IA como un borrador, no como una regla terminada. Crea una pequeña tabla de pruebas sintéticas, compara las coincidencias esperadas con las reales, corrige el patrón y guarda un informe de revisión antes de usarlo con datos reales.
Aprende a convertir un texto breve en una estructura de presentación para un PPT con IA sin añadir hechos no respaldados, a crear un prompt para un esquema de 6 diapositivas con un mensaje principal, evidencia, notas del presentador y sugerencias visuales, y a revisar manualmente cifras, interpretaciones, imágenes e información sensible.