[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