fin1 = open('file1','r') fin2 = open('file2','r') L1 = fin1.readlines() L2 = fin2.readlines() for i in range(0,len(L1)): L1[i] = L1[i][1:len(L1[i])] #elimino il primo carattere da ogni stringa for i in range(0,len(L1)): L1[i] = L1[i].split(',') #organizzo come fosse una tabella di parole for i in range(0,len(L2)): L2[i] = L2[i].split(',') #organizzo come fosse una tabella di parole L3 = [] #costruisco L3 da L1 e L2 per inserire poi in dati in DB for i in L1: for j in L2: if i[0] == j[0]: #controllo se hanno stessa parola in prima colonna L3.append([i[0],j[1],j[2],i[2]]) #se si le inserisco in L3 #L3 ora contiene le righe di L1 e L2 presenti in entrambe codiciInL3=[] #carico i codici in L3 per trovare quelli mancanti for i in L3: codiciInL3.append(i[0]) for i in L1: if i[0] not in codiciInL3: #cerco i dati di L1 non in L2 e non ancora inseriti in L3 #li devo inserire con un Null per il campo di L2 che non conosco L3.append([i[0],'Null', i[1], i[2]]) for j in L2: if j[0] not in codiciInL3: #cerco i dati di L2 non in L1 e non ancora inseriti in L3 #li devo inserire con un Null per il campo di L1 che non conosco L3.append([j[0],j[1],j[2],'Null']) #ora L3 contiene tutto con i Null dove L1 e L2 hanno dati #non in comune #apro il DB e inserisco i dati import MySQLdb db = MySQLdb.connect("localhost","user","passw","DB" ) cursor = db.cursor() #cursor.execute('create database if not exists NOME') # no e' richiesto #cursor.execute('use NOME') #non e' richiesto tab1 = "CREATE TABLE Corsi (CodiceCorso char(3), NomeCorso char(50), Facolta char(50), Iscritti int)" cursor.execute(tab1) insert_stmt = ("INSERT INTO Corsi (CodiceCorso , NomeCorso, Facolta, Iscritti) " "VALUES (%s, %s,%s, %s)") for i in L3: data = (i[0], i[1], i[2], i[3]) # data = (i)? cursor.execute(insert_stmt, data) db.commit() db.close()