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