Ir al contenido principal

Cómo la IA me ayudó a automatizar documentos JSON en Excel

 

Cómo la IA me ayudó a automatizar documentos JSON en Excel

El problema inicial

Tenía decenas de archivos JSON generados por una aplicación de reportes, con información de miles de registros diarios, validaciones y detalles de trabajo. Cada archivo contenía:

  • Metadatos

  • Campos dinámicos

  • Ordenes de trabajo

Un archivo JSON no interpretado, puede verse de la siguiente manera:

Este modo de visualización no es el que esperaría un usuario no técnico para procesar la información.

Por esto, me puse como objetivo::

  1. Consolidar todos los JSON en un único Excel.

  2. Normalizar la información para que cualquier persona pudiera leerla.

  3. Explotar el detalle de OTs en columnas, sin arrays ni estructuras anidadas.

Primera fase: Consolidación básica

Mediante un set de instrucciones básico en Copilot, creamos un script en Python que:

  • Leía todos los archivos data_*.json de la carpeta raíz.

  • Extraía todos los campos y los convertía en columnas.

  • Exportaba un Excel y un CSV listos para análisis.

Este paso resolvió el caso inicial, pero el resultado era muy ancho y poco amigable. Aun así, fue un gran avance: de cientos de JSON a un solo Excel.

Segunda fase: Normalización del detalle de OTs

Aquí vino el reto interesante: el campo Detalle Trabajos no podía quedarse como un array en una celda. Así que diseñamos un segundo script que:

  • Usaba el ID princiapl como clave primaria.

  • Explotaba cada OT en filas separadas, con columnas claras:

    • OT

    • Descripción

    • Inicio

    • Fin

El resultado: un Excel limpio, legible y escalable, donde cada fila representa una tarea concreta.

Código de ejemplo

Aquí tienes un fragmento del script que explota el detalle de OTs:

Python

def extract_item_to_row(items, record_id: str) -> dict:

out = {"record_id": str(record_id)}

for it in items:

raw_label = it.get("label") or it.get("uniqueLabel") or it.get("id") or ""

col = normalize_label_to_col(raw_label)

val = to_scalar_text(it.get("value"))

out[col] = val

return out

Este bloque se encarga de mapear dinámicamente los campos del detalle a columnas legibles.

Lecciones aprendidas

  1. Automatizar ahorra horas (y errores): Pasamos de un trabajo manual imposible a un proceso reproducible en segundos.

  2. Flexibilidad ante datos dinámicos: Diseñar scripts que descubran columnas adicionales evita rehacer el código cada vez que cambia el formulario.

¿Te interesa el código completo?

En el proyecto original desarrollamos scripts que:

  • Consolidaban todos los JSON en un Excel.

  • Explotaban el detalle de OTs en columnas claras.

  • Detectaban y añadían campos adicionales automáticamente.

(Si quieres que publique el código completo en GitHub, ¡déjamelo en los comentarios!)


Comentarios

Entradas más populares de este blog

¡Título en mano, 6 años después!

  🎓 ¡Título en mano, 6 años después! En 2019 decidí formarme en programación con Python. En ese entonces, la inteligencia artificial todavía no era tema de conversación. No imaginaba que ese lenguaje, que me costaba al principio aprender, sería hoy una de las piedras angulares de la revolución tecnológica que estamos viviendo. 📜 Hoy, en 2025, finalmente recibí el título. Sí, seis años después. Una anécdota que recuerda que los tiempos institucionales y los del conocimiento no siempre van de la mano. 💡 Pero esa semilla que planté en 2018 hoy da frutos en pleno 2025 donde python es el idioma de la IA, del análisis de datos, de la automatización, y de tantas soluciones que usamos a diario. 🚀 Si estás pensando en aprender a programar: empezá. Aunque el reconocimiento formal tarde, el conocimiento que adquirís empieza a cambiarte desde el primer script que hacés funcionar. #Python #Programación #IA #MachineLearning #TransformaciónDigital #NuncaEsTarde #LifelongLearning #Autom...

Automatización que potencia: mi tercer paso en RPA y el inicio de The White Site

La automatización dejó de ser una opción futura para convertirse en una necesidad actual. En la actualdiad donde el tiempo es sumamente escaso, aprender a automatizar procesos es, en muchos casos, la diferencia entre sobrevivir o escalar. Hace pocos días completé mi tercer curso formal de RPA (Robotic Process Automation) , esta vez enfocado en Automation Anywhere 360 / A2019 , una de las plataformas líderes en el mercado. Fueron 13 horas de formación intensa a través de Udemy. ¿Por qué seguir aprendiendo RPA? Porque automatizar no es reemplazar personas, es liberar su tiempo para que puedan aportar verdadero valor . En mi experiencia dentro del mundo de la auditoría y los procesos TI, veo todos los días cómo tareas repetitivas consumen tiempo que podría utilizarse para el análisis profundo, la estrategia o incluso la innovación. RPA se presenta como una respuesta directa y accesible para transformar eso. Este tercer curso no solo me permite afianzar habilidades técnicas, sino tamb...