non ho ancora scritto il codice python, proprio perche' prima mi ponevo questo problema scrivendo a mano le query direttamente su Sqlite, ma evidentemente stavo sbagliando approccio <:-)
grazie del suggerimento. Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' < vittorio.zucc...@gmail.com> ha scritto: > Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo > molto veloce! > Ad ogni modo... > Puoi fornirci il codice che utilizzi? > Personalmente non ho trovato questo problema nell'inserimento di dati. > Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db > sqlite: magari può esserti utile. > Occhio: magari devi fare un decode come ti segnalo nel codice > > csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '"') > > campi=string.split(cnf['tabelle'][i],"\n") > for j in range(len(campi)): > campo = re.search('"(.+)".+', campi[j]) > if campo: > campi[j]=campo.group(1) > campi.pop(0) # Elimina il nome della tabella dai campi > campi.pop(-1) # Elimina la parentesi finale dai campi > > > print "Riempio la tabella %s" % i > k=0 > p=1 > inserisci="INSERT INTO %s VALUES(" % i > for row in csv_reader: > l=len(row) > for m in range(l): > row[m] = row[m].decode('latin1') > > if k == 0: # Controlla che i campi della tabella siano > uguali a quelli del CSV!!!!!!!!!!! > for c in range(len(row)): > if row[c] == campi[c]: > inserisci = "%s %s" % (inserisci,"?, ") > else: > print "DEVI CAMBIARE LA DEFINIZIONE IN > CONFIGURAZIONE DI CREAZIONE TABELLA %s" % row[c] > else: > dimensione=len(inserisci)-2 > inserisci = inserisci[0:dimensione] # Inserendo "?, " > cancello l'ultima occorrenza di ", " > inserisci = "%s %s" % (inserisci, ")") > cur.execute(inserisci,row) > if k==300: > print "Ho finito di aggiungere %d record" % (k*p) > p=p+1 > k=1 > k=k+1 > > con.commit() > > > > Il giorno 05 novembre 2010 09:33, Massimo Capanni < > massimo.capa...@gmail.com> ha scritto: > >> Buongiorno, >> >> forse e' una sciocchezza ma faccio lo stesso questa domanda: >> sto cercando di implementare un semplice database con Sqlite, >> e sto facendo alcune prove a mano direttamente con Sqlite stesso. >> >> Il database di prova contiene una tabella del genere: >> >> pippo (a integer primary key autoincrement, b text, c text); >> >> Cerco di inserire del testo a caso da qualche testo ma, se >> nella copia sono presenti doppi apici o singoli apici Sqlite >> mi comunica che non è correttamente identato. Secondo >> voi dovrei implementare un controllo dell'identazione degli >> apici prima dell'inserimento, con una funzione Python, >> oppure esiste una funzione che automaticamente risolve >> questo problema durante l'input? >> >> a presto, >> >> massimo >> >> _______________________________________________ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/mailman/listinfo/python >> >> > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python