import pandas as pd import mysql.connector import math import xlsxwriter import tkinter as tk from tkinter import filedialog,messagebox from datetime import datetime from mysql.connector import Error from connection import create_connection from connection import close_connection from search import search_article from update import update_records from insert import insert_records from write import write_excel from write_excel_insert import write_excel_insert host = "62.86.98.170" user = "root" password = "masterkey" database = "arc_rumo" port = 3307 #creao la connessione al database conn = create_connection(host, user, password, database, port) #leggo il file excel df = pd.read_excel('TEST.xlsx', usecols='A:M') #leggo le colonne del file excel for index, row in df.iterrows(): codice = row['CODICE'] descrizione = row['DESCRIZIONE'] um = row['UN'] costo = row['COSTO'] sc1 = str(row['SC1']) ## tsm_codice per la tabella lsa sc2 = str(row['SC2']) ## tsm_codice per la tabella lsv if math.isnan(row['RICARICA1']): ricarica1 = row['RICARICA1'] else: ricarica1 = int(row['RICARICA1']) ## trl_codice per codice listino 1 if math.isnan(row['RICARICA2']): ricarica2 = row['RICARICA2'] else: ricarica2 = int(row['RICARICA2']) ## trl_codice per codice listino 2 if math.isnan(row['RICARICA3']): ricarica3 = row['RICARICA3'] else: ricarica3 = int(row['RICARICA3']) ## trl_codice per codice listino 3 if math.isnan(row['RICARICA4']): ricarica4 = row['RICARICA4'] else: ricarica4 = int(row['RICARICA4']) ## trl_codice per codice listino 4 codice_barre = str(row['CODICE_BARRE']) codice_alternativo = str(row['CODICE ALTERNATIVO']) prezzo = float(row['COSTO']) if conn : ## cerco codice articlo ## se non esiste chiamo l funzione di insert ## se esiste controllo cosice listino ## se non esiste chiamo la funzione di insert ## se esiste chiamo la funzione di update if ricarica1 is not None and not math.isnan(ricarica1): listino = 1 ricarica = ricarica1 elif ricarica2 is not None and not math.isnan(ricarica2): listino = 2 ricarica = ricarica2 elif ricarica3 is not None and not math.isnan(ricarica3): listino = 3 ricarica = ricarica3 elif ricarica4 is not None and not math.isnan(ricarica4): listino = 4 ricarica = ricarica4 art = search_article(conn,codice,listino) if art == True : value_update = update_records(conn,codice,prezzo,sc1,sc2,listino,ricarica,codice_barre,codice_alternativo) print(value_update) if value_update is not None: write_excel(value_update) else: costo = 0.00 if descrizione is None : descrizione = ' ' if um is None: um = ' ' if sc1 is None: sc1 = ' ' if sc2 is None: sc2 = ' ' if math.isnan(ricarica): ricarica = ' ' if codice_alternativo is None: codice_alternativo = ' ' if codice_barre is None: codice_barre = ' ' value_insert = insert_records(conn,codice,descrizione,um,costo,sc1,sc2,ricarica,listino,codice_alternativo,codice_barre,art) write_excel_insert(value_insert) if conn : conn.close()