Qué conviene automatizar, qué no, y cómo no perder el control del cálculo.
Automatizar un metrado no es reemplazar al ingeniero: es quitarle de encima la parte mecánica. El criterio de cómo se mide una partida, qué entra y qué no, sigue siendo humano. Lo que la computadora hace mejor es repetir ese criterio mil veces sin cansarse y sin equivocarse al copiar una fila.
Antes de escribir una sola línea de código, ordena los datos. Una tabla limpia, una fila por elemento, columnas con nombres constantes y sin celdas combinadas. La mayoría de los scripts que fallan no fallan por el cálculo: fallan porque el Excel de entrada tiene un título en la fila 7, tres celdas combinadas y una columna llamada distinto en cada hoja.
Para leer Excel desde Python, pandas te da la tabla completa en una línea y openpyxl te deja tocar celdas y formatos cuando necesitas escribir dentro de una plantilla existente. La combinación habitual es leer con pandas para calcular y escribir con openpyxl para no destrozar el formato que el cliente espera ver.
El cálculo suele ser más simple de lo que parece: agrupar por partida, sumar cantidades, multiplicar por espesores o pesos unitarios y aplicar los factores que correspondan. Escribe cada paso en una función pequeña con un nombre claro. Un script de cien líneas sin funciones es imposible de revisar seis meses después, cuando ya no recuerdas nada.
La verificación es la parte que casi todos se saltan y la más importante. Una máquina se equivoca en silencio: no te avisa que la columna estaba vacía, simplemente devuelve cero. Toma un elemento, métralo a mano, compáralo con el resultado del script y recién después corre todo. Repite esa comprobación cada vez que cambies la lógica.
Agrega comprobaciones dentro del propio script: que no haya cantidades negativas, que ninguna longitud sea cero, que la suma por partida cuadre con el total general. Que el programa se detenga y avise es mucho mejor que un Excel de salida perfectamente formateado con cifras equivocadas.
Cuando funcione, entrégalo de manera que no dependa de tu computadora: el script, un archivo de ejemplo de entrada, las instrucciones en tres líneas y la lista de librerías que necesita. Una herramienta que solo corre en tu máquina no es una herramienta del equipo, es un favor que tendrás que hacer cada mes.
Fin de la lámina B-0607 párrafos381 palabras
Escrito por
Víctor Marín Tucto
Proyectista civil y docente
Enseña cronograma con Primavera P6, control de obra en Power BI y modelado BIM en Revit, sobre proyectos que ejecuta.
