Saltar al contenido
AIM Desarrollo y Automatizaciones

Migrador de datos

Tu Excel desordenado se convierte en una lista limpia, lista para pasar a tu sistema.

En vivo. Corre en tu navegador.

Como lo ve tu cliente

El problema que resuelve
Pasar clientes o pedidos de una hoja de cálculo a un sistema nuevo suele ser trabajo a mano: fechas escritas de mil formas, teléfonos sin indicativo, correos con errores y filas repetidas.
Un ejemplo de la vida real
Imagina una ferretería que cambia de programa de facturación. Exporta su lista de clientes, la pasa por el migrador y recibe una lista limpia para importar y otra con las filas que hay que revisar.
Lo que vas a ver
Subes un archivo, o usas el de ejemplo, y enseguida ves qué se corrigió, cuántas filas quedaron bien y qué falta revisar en cada una, con un antes y un después.

Por dentro

Qué hace, en términos técnicos

Sube un CSV o un Excel desordenado y mira cómo se detectan columnas, se normalizan fechas, teléfonos y correos, y se separan las filas válidas de las que tienen errores.

Tecnologías
  • TypeScript
  • PapaParse
  • Zod
  • Python
  • FastAPI
  • python-calamine
  • charset-normalizer

Arquitectura

  1. 1.Tu navegador (TypeScript)

    PapaParse lee el CSV, se detecta el tipo de cada columna, se normaliza valor por valor y Zod valida cada fila. Por defecto el archivo no sale de tu equipo.

  2. 2.Motor en Python (FastAPI en Render)

    Opcional: lee Excel (.xlsx y .xls), detecta la codificación y acepta archivos más grandes. Procesa en memoria y no guarda nada.

  3. 3.Un solo contrato

    La forma del resultado se define en Zod, se exporta a JSON Schema y las pruebas de Python validan cada respuesta contra él.

  4. 4.Prueba de paridad

    En cada cambio compara la salida de Python con la del navegador sobre los mismos archivos.

En cifras

motores con las mismas reglas, en el navegador y en Python
2
por archivo, como máximo, en el motor de Python
10 MB
filas por archivo, como máximo, en el motor de Python
50.000

Pruébalo con una lista de clientes

  1. Sube tu archivo. en curso.
  2. Se ordena solo. pendiente.
  3. Revisa el resultado. pendiente.
  4. Descarga tu lista limpia. pendiente.

Un CSV o un Excel con tus datos, o prueba con el archivo de ejemplo.

Arrastra aquí tu lista de clientes

Un CSV exportado de tu programa actual o de tu hoja de cálculo. Se ordena aquí mismo: tu archivo no sale de tu equipo.

clientes-ejemplo.csv: 37 filas, como salen de un sistema viejo.

Sube tu archivo

¿Dónde quieres procesar el archivo?

Hasta 5 MB y 20.000 filas, separado por comas o punto y coma, con los nombres de las columnas en la primera fila.

Ver cómo viene el archivo de ejemplo
 Nombre completo ;Correo Electrónico;Teléfono;Fecha de registro;Monto (COP);Ciudad
  ana maría  GÓMEZ ;[email protected] ;300 555 0101;03/04/2024;$1.200.000,50;bogotá
CARLOS andrés ruiz;[email protected];+57 (310) 555-0102;2024-04-05;1200000.5;Medellín
luisa fernanda díaz; [email protected];3125550103;3 de abril de 2024;850.000;cali
josé del carmen pérez;[email protected];(+57) 315 555 0104;15/01/2023;$ 2.500.000;SANTA MARTA
María de los Ángeles Torres;[email protected];320-555-0105;7 abr 2024;350000;Barranquilla

pedro salazar;pedro.salazar@example;301 555 0106;12/05/2024;$780.000;Pereira
  ana maría gómez;[email protected];+57 300 555 0101;2024-04-03;1200000.5;Bogotá
marta ríos;marta.rios.example.com;311 555 0107;20/06/2024;95.000;Bucaramanga
Jorge Iván Restrepo;[email protected];555 0108;01/07/2024;1.500.000;Manizales
;;;;;
Sofía Martínez;[email protected];3165550109;31/02/2024;420000;Cartagena
andrés felipe castro;[email protected];3175550110;04/13/2024;$ 1.050.000;Cúcuta
Valentina Rojas;[email protected];318 555 0111;2024-08-19;mil doscientos;Ibagué
CARLOS andrés ruiz;[email protected];+57 (310) 555-0102;2024-04-05;1200000.5;Medellín
daniela   herrera;[email protected];+57 300 555 01;10/09/2024;640.000,00;Villavicencio
Camilo Andrés Vargas;camilo [email protected];3195550113;5 de octubre de 2024;2.000.000;Neiva
  ;  ; ;;;
natalia gómez;[email protected];3205550114;23/10/2024;$3.450.000;Pasto
luis eduardo moreno;[email protected];300 555 0115;2024/11/02;150000.75;tunja
paula andrea suárez;[email protected];3015550116;8 de noviembre de 2024;$ 980.500;Armenia
luisa fernanda díaz;[email protected];+573125550103;03/04/2024;850000;Cali
Ricardo Peña;[email protected];+1 (415) 555-0117;12/12/2024;USD 1,250.00;Miami
Gabriela Ortiz;[email protected];+57 601 555 0118;14/02/2025;275.000;bogotá d.c.
Esteban Quintero;[email protected];3105550119;;;Popayán
martín alonso lópez;[email protected];3115550120;2 de enero de 2025;$1.2.3;Montería
Laura Jiménez;laura.jimenez@exa mple.com;31255501;17/03/2025;560.000;Sincelejo
Diego Fernando Ruiz;[email protected];3135550122;miércoles 9 de abril de 2025;1.000.000;Valledupar
Isabella Cárdenas;[email protected];314 555 0123;22-04-2025;720000;Riohacha
Mateo Sánchez;[email protected];315 555 0124;30/04/2025;$ 1.800.000,00;Quibdó
Mariana Pineda;[email protected];3165550125;5/5/25;99.900;Florencia
Sebastián Giraldo;[email protected];3175550126;2025-05-12;2.300.000;Yopal;VIP
camila andrea mejía;[email protected];3185550127;3 jun 2025;$450.000;Leticia
JUAN PABLO OSORIO;[email protected];319 555 0128;15.06.2025;1250000;Mocoa
Lucía Fernández;[email protected];+57 320 555 0129;julio 1, 2025;$ 600.000;San Andrés
Tomás Herrera;[email protected];0057 300 555 0130;20/07/2025;3.100.000,25;Arauca
samuel ospina;[email protected];301-555-0131;2025-08-01;875000;Puerto Carreño

Qué va a pasar con tu archivo

Son cinco pasos, en este orden. Sube un archivo o prueba con el de ejemplo para ver qué hizo cada uno.

  1. Paso 1: Leer el archivo

    PapaParse lee el CSV, detecta si el separador es coma o punto y coma y toma la primera fila como encabezados.

  2. Paso 2: Detectar columnas

    Pasa los encabezados a nombres sin tildes ni espacios y revisa hasta 200 valores por columna para saber si cada una tiene correos, teléfonos, fechas, montos o texto. En las fechas con números (03/04/2024) decide si va primero el día o el mes.

  3. Paso 3: Normalizar

    Quita espacios de más, escribe los nombres en formato título y los correos en minúscula, pasa los teléfonos a formato internacional (+57 si son 10 dígitos que empiezan por 3), las fechas a año-mes-día (con el día o el mes primero, según la columna) y los montos a número.

  4. Paso 4: Validar

    Arma un esquema de Zod con los tipos detectados y revisa cada fila: correo válido, teléfono internacional, fecha que exista y monto numérico. Las celdas vacías se permiten.

  5. Paso 5: Resultado

    Separa las filas válidas de las que tienen errores y cuenta los duplicados y las filas vacías que quedaron por fuera.

¿Lo quieres para tu negocio?

Esto es parte de lo que construyo en el servicio de automatizaciones. Mira qué incluye o calcula un presupuesto de referencia para tu caso.

¿Te interesa cómo está hecho? Míralo por dentro

Cómo funciona

Tiene dos motores con las mismas reglas. Por defecto todo ocurre en tu navegador (TypeScript): el archivo no sale de tu dispositivo. Si eliges el servidor, una API en Python con FastAPI recibe el archivo, lo procesa en memoria sin guardarlo y devuelve el mismo resultado; además lee Excel (.xlsx y .xls), detecta la codificación de los CSV exportados en español y acepta archivos más grandes. Una prueba automática compara los dos motores con los mismos archivos en cada cambio.