Forum
>>
Programmazione Python
>>
Database
>>
Tempi lunghissimi popolamento tabella
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da trescon |
2018-06-10 23:57:02 - Tempi lunghissimi popolamento tabella
|
Buonasera a tutti, il problema è presto spiegato.
Ho un file .txt che contiene circa 166.000 righe di articoli, ogni riga è composta da due solo campi. Possibile che per caricare il file in una tabella Sqlite3 è da oltra 30 minuti .... e non si vede ancora traccia della fine. Premetto che la macchina che sto usando è un Hp con processore i7 e 8 GB di ram; non è mica un po troppo lento il popolamento della tabella ? Chiedo questo perchè dovro creare un'altra tabella che avra 25/30 campi e conterra' oltre le 250.000 righe.... ci mettera una settimama !! Chiedo ... ma il db Sqlite3 che è lento .... oppure ??? for articolo_1 in dati_1: codici_a_barre = [(articolo_10,articolo_11)] c.executemany ('INSERT INTO Barcodes VALUES (?,?)',codici_a_barre) conn.commit() Queste sono le 4 righe di numero che stanno caricando i dati. Grazie a chi mi puo' aiutare P.s. : il oltre un'ora ha caricato SOLO 24.000 righe circa su 166.000. --- Ultima modifica di trescon in data 2018-06-11 00:26:24 --- ------
Alberto |
|
Scritto da ㎝ |
2018-06-11 15:16:18 - Re: Tempi lunghissimi popolamento tabella
|
Oppure, direi
cm@hemp:/tmp $ echo 'create table Barcodes(a, b);'|sqlite3 trescon.db cm@hemp:/tmp $ for i in $(seq 166000); do printf '%s,%s\n' $i $i >> trescon.csv; done cm@hemp:/tmp $ ed trescon.py trescon.py: File o directory non esistente a import sqlite3 c = sqlite3.connect('trescon.db') codici_a_barre = [i.split(',') for i in open('trescon.csv')] c.executemany('INSERT INTO Barcodes VALUES (?,?)', codici_a_barre) c.commit() . wq 188 cm@hemp:/tmp $ t python trescon.py 0.26u 0.03s 0.32r 94%CPU 57728kB python trescon.py cm@hemp:/tmp $ echo 'select count(*) from Barcodes;' | sqlite3 trescon.db 166000㎝ THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
|
Scritto da trescon |
2018-06-12 14:02:30 - Re: Tempi lunghissimi popolamento tabella
|
Ciao cm , immagino che tu lo sappia altrimenti te lo dico io .... sono un MEGA ignorante in python.... quindi
partiamo che mi spieghi la prima riga ... cm@hemp:/tmp Che tra l'altro sia l'IDLE ufficiale si Geany me la segnala come ERRORE. Cosa fa ? Grazie Alberto ------
Alberto |
|
Scritto da ㎝ |
2018-06-12 14:11:42 - Re: Tempi lunghissimi popolamento tabella
|
Ignorala, è il mio prompt (assieme al $ all'inizio della riga successiva)
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
|
Scritto da trescon |
2018-06-12 14:29:55 - Re: Tempi lunghissimi popolamento tabella
|
Io l'ho considerato cosi ...
echo 'create table Barcodes(a, b);'|sqlite3 trescon.db for i in $(seq 166000); do printf '%s,%s\n' $i $i >> trescon.csv; done ed trescon.py trescon.py: File o directory non esistente a import sqlite3 c = sqlite3.connect('trescon.db') codici_a_barre = [i.split(',') for i in open('trescon.csv')] c.executemany('INSERT INTO Barcodes VALUES (?,?)', codici_a_barre) c.commit() . wq 188 t python trescon.py 0.26u 0.03s 0.32r 94%CPU 57728kB python trescon.py echo 'select count(*) from Barcodes;' | sqlite3 trescon.db 166000ma mi da errore alla prima riga, sulla " ' " (virgoletta) Non ci capisco molto. Grazie Alberto ------
Alberto |
Pagina: 1
Esegui il login per scrivere una risposta.