[Python] delimitatori testo in sqlite
Massimo Capanni
massimo.capanni a gmail.com
Ven 5 Nov 2010 09:57:45 CET
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.zuccala a 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.capanni a 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 a lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20101105/05f1e761/attachment.htm
Maggiori informazioni sulla lista
Python