mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
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()
|