- Big Data e ingeniería de datos
- Automatización de procesos
Planificación de la red de media tensión: de Excel a Python
La planificación de la red eléctrica de media tensión dependía de una cadena de 14 libros de Excel con macros, lentos y difíciles de mantener. Los estoy reescribiendo en Python, comprobando que den exactamente los mismos resultados, para que el proceso sea más rápido, verificable y fácil de mejorar.
Migración a Python de 14 libros .xlsm encadenados (más de 9 500 líneas de VBA solo en el motor de traslados), con réplica 1:1 y pruebas de equivalencia celda a celda; Pasos 0–4 validados e indicadores SAIDI, SAIFI y ENS reimplementados.
La historia
01 / 04
El problema
Para decidir cómo crece y se opera la red eléctrica de media tensión, el equipo usaba una cadena de 14 libros de Excel con macros.
Planificación MT en Pasos 0–13: libros .xlsm encadenados desde la exportación de la red hasta los traslados de carga y la matriz de calidad de suministro.
02 / 04
Por qué es difícil
Era lenta, difícil de mantener y casi imposible de revisar: si algo fallaba en un libro, todo lo que venía después quedaba en duda.
Más de 9 500 líneas de VBA en 127 hojas solo en el motor de traslados; lógica repartida entre macros, fórmulas y dependencias implícitas entre libros.
03 / 04
La idea clave
Reescribir cada paso en Python para que haga exactamente lo mismo que el Excel, y comprobarlo automáticamente, celda por celda.
Extracción automática de VBA, fórmulas y estructura; réplica 1:1 por Paso; pruebas de equivalencia contra las salidas de Excel.
04 / 04
El resultado
Los primeros pasos ya dan los mismos resultados que el Excel. Al final será un solo programa: más rápido, verificable y fácil de mejorar.
Pasos 0–4 validados celda a celda; SAIDI, SAIFI y ENS reimplementados con simulación de mejoras; las mejoras van detrás de flags de configuración.
Qué sigue
En curso: seguir migrando los Pasos restantes hasta unir toda la cadena en un solo programa.
Impacto
- 14«Pasos» de la cadena, de la exportación de la red a los traslados de carga, migrándose por etapas a un solo programa
- 0–4Pasos replicados y validados celda a celda contra los resultados de Excel
- +9 500líneas de VBA en 127 hojas documentadas para el motor de traslados de carga
- Indicadores de calidad de suministro (SAIDI, SAIFI, ENS) reimplementados con simulación de mejoras
Cómo funciona
- Extraer y entender. Scripts que extraen el código VBA, las fórmulas y la estructura de cada libro, y documentación detallada de qué hace cada macro.
- Replicar 1:1. Cada Paso se reescribe en Python para que haga exactamente lo mismo que el Excel.
- Validar. Se comparan automáticamente los resultados de Python y de Excel, celda por celda.
- Unificar y mejorar. Los Pasos se unen en un solo programa. Las mejoras se implementan desactivadas por configuración para no romper la equivalencia.
Detalles técnicos
- Cubre tramos, dobles ternas, transformadores MT/MT, auxiliares y rutas, trasladabilidad, cálculo de auxiliares, traslados de carga (a qué alimentador transferir y con qué maniobras) y la matriz de calidad de suministro (SAIDI, SAIFI, ENS y compensaciones).