Saltar al contenido
← Todos los tutoriales

Media · Practica · 30 min · Tiempo estimado

Validar un CSV con Python antes de automatizar tareas

Ejecuta un ejemplo local para detectar identificadores duplicados y filas incompletas, sin modificar el archivo original ni instalar paquetes.

Por Eric Muriel

Gráficos de barras y líneas en la pantalla de un portátil.
Imagen ilustrativa de análisis de datos; no representa resultados de este ejercicio.Fotografía: Antoni Shkraba · Pexels · Pexels License

Antes de empezar

Vas a conseguir: Un informe reproducible: dos filas válidas, un duplicado y una fila incompleta.

  • Python 3 con los módulos estándar csv y pathlib; editor de texto y terminal.
  • Saber abrir una carpeta en la terminal. No necesitas una API ni una cuenta de pago.

Ejemplo ejecutado y comprobado localmente con Python 3.9.6, incluidas entradas vacías, duplicadas y cabeceras incorrectas.

01Prepara la carpeta de trabajo

Crea una carpeta vacía, descarga los dos archivos de este tutorial y guárdalos dentro. Abre la terminal en esa carpeta. Comprueba la versión con el comando siguiente. En Windows puedes usar py en lugar de python3 en todos los comandos.

python3 --version

Comprueba el resultado

La terminal muestra Python 3.x y los archivos se llaman check_csv.py y tasks.csv.

Si no te sale

Si no encuentra Python, instala una versión compatible con tu sistema desde python.org. Si el editor añadió .txt al nombre del script, quítalo.

02Inspecciona los datos antes de ejecutar

Abre tasks.csv como texto, no como hoja de cálculo. La primera línea contiene los nombres de columna. El ID T-1 aparece dos veces y la última fila no tiene ID. El código usa la biblioteca csv para respetar comillas y separadores.

id,task
T-1,Review draft
T-1,Review draft
T-2,Check source
,Missing identifier

Comprueba el resultado

Cuatro filas de datos, más la cabecera. No cambies el original durante esta primera prueba.

Si no te sale

Si ves punto y coma en lugar de comas, vuelve a descargar el ejemplo. El script exige exactamente las columnas id,task.

03Ejecuta y compara el informe

Ejecuta el comando desde la misma carpeta. El script lee el archivo y muestra un resumen; no escribe ni envía datos. Un ID válido se conserva una vez, sus repeticiones se cuentan aparte y las filas sin valores obligatorios son inválidas.

python3 check_csv.py tasks.csv

Comprueba el resultado

{'valid': 2, 'duplicates': 1, 'invalid': 1}

Si no te sale

FileNotFoundError indica una carpeta o un nombre incorrectos. Expected columns indica una cabecera diferente. Abre el archivo como texto para comprobarlo.

04Introduce un cambio controlado

Copia tasks.csv a tasks-test.csv. En la copia, cambia la última fila por T-3,Check date. Ejecuta el script con el nombre de la copia. Mantener una sola diferencia permite entender por qué cambió el resultado.

python3 check_csv.py tasks-test.csv

Comprueba el resultado

{'valid': 3, 'duplicates': 1, 'invalid': 0}

Si no te sale

Si el resultado no cambia, comprueba que guardaste la copia y que el comando apunta a ella. No importes duplicados hasta decidir qué registro es correcto.

Fuentes, comprobación y límites

El ejercicio valida estructura básica, no el significado de la tarea. Una fila con el mismo ID y texto distinto se cuenta como duplicado y requiere revisión; no se fusiona ni se borra.

Cómo elaboramos el contenido