import pandas as pd import mysql.connector """ Script para actualizar la columna 'precio_tonelada' en la tabla 'lg_papel_impresion' desde un archivo Excel. - Lee los valores de ID y Precio desde un archivo Excel con cabecera clara. - Conecta a la base de datos y actualiza los precios de tonelada para los IDs especificados. Requiere: - Archivo Excel con columnas 'ID' y 'Precio Tonelada'. - Conexión activa a la base de datos MySQL. - Paquetes: pandas, mysql-connector-python Autor: IMN Fecha: 07/05/2025 """ # === CONFIGURACIÓN DE LA BASE DE DATOS === DB_CONFIG = { "host": "82.223.102.252", "user": "erp-dev", "password": "Txhn75@10", "database": "erp-dev" } # === CARGAR DATOS DESDE EXCEL === df = pd.read_excel("ERP Safekat 2.0 - Papeles Impresion.xlsx") # === CONEXIÓN A MYSQL === conn = mysql.connector.connect(**DB_CONFIG) cursor = conn.cursor() # === CONSULTA DE ACTUALIZACIÓN === update_query = """ UPDATE lg_papel_impresion SET precio_tonelada = %s WHERE id = %s """ # === PREPARAR DATOS === data = [] for _, row in df.iterrows(): try: papel_id = int(row['ID']) precio = float(row['Precio Tonelada']) data.append((precio, papel_id)) except (ValueError, TypeError): continue # Ignorar datos inválidos # === EJECUTAR ACTUALIZACIONES === cursor.executemany(update_query, data) conn.commit() print(f"✅ Actualizados {cursor.rowcount} registros en lg_papel_impresion.") # === CERRAR CONEXIÓN === cursor.close() conn.close()