import pandas as pd
import gemini_ia_db
import numpy as np

try:
    df1 = pd.read_excel(r"E:\Descargas\Desaparecidos_Colombia.xlsx")
except FileNotFoundError:
    print("Archivo no encontrado. Verifica la ruta.")
except Exception as e:
    print(f"Error al cargar el archivo: {e}")

df = pd.DataFrame(df1)
#df.columns = df.iloc[0]

sql = (
    "INSERT INTO desaparecidos " 
    "(id, estado, clasificacion, fecha, edad, sexo, estado_civil, escolaridad, pertenencia_grupal, "
    "pais, municipio, departamento, contexto, relato) " 
    "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
    )

primera_iteracion = True

for id, estado, clasificacion, fecha, edad, sexo, estado_civil, escolaridad, pertenencia_grupal, pais, municipio, departamento, contexto, relato in zip(
    df['ID'].values.astype(int), 
    df['ESTADO'].values, 
    df['CLASIFICACION'].values, 
    df['FECHA_DESAPARICION'].values, 
    df['EDAD'].values.astype(int),
    df['SEXO'].values,
    df['ESTADO_CIVIL'].values,
    df['ESCOLARIDAD'].values,
    df['PERTENENCIA_GRUPAL'].values,
    df['PAIS'].values,
    df['MUNICIPIO'].values,
    df['DEPARTAMENTO'].values,
    df['CONTEXTO'].values,
    df['RELATO'].values
    ):
    if primera_iteracion:
        primera_iteracion = False
        continue    
    if any(pd.isnull(value) for value in [id, estado, clasificacion, fecha, edad, sexo, estado_civil, escolaridad, pertenencia_grupal, pais, municipio, departamento, contexto, relato]):
        continue
    
    data = (id, estado, clasificacion, fecha, edad, sexo, estado_civil, escolaridad, pertenencia_grupal, pais, municipio, departamento, contexto, relato)
    gemini_ia_db.insert(sql, data)