ho letto questo: Importing a CSV file into a sqlite3 database table using PythonInserimento di massa dati enorme in SQLite utilizzando Python
e sembra che tutti suggerisce di utilizzare la linea per linea la lettura invece di utilizzare .import massa da SQLite. Tuttavia, ciò renderà l'inserimento molto lento se disponi di milioni di righe di dati. C'è un altro modo per aggirare questo?
Aggiornamento: Ho provato il seguente codice per inserire riga per riga, ma la velocità non è buona come mi aspettavo. Esiste un modo per migliorarlo
for logFileName in allLogFilesName:
logFile = codecs.open(logFileName, 'rb', encoding='utf-8')
for logLine in logFile:
logLineAsList = logLine.split('\t')
output.execute('''INSERT INTO log VALUES(?, ?, ?, ?)''', logLineAsList)
logFile.close()
connection.commit()
connection.close()
SQLite può importare molti file CSV contemporaneamente. Non sono riuscito a trovare un modo per farlo? – Shar
Non pensare che sia possibile importare molti file csv contemporaneamente. Dividere i dati in blocchi e inserirli nelle transazioni dovrebbe essere la strada da percorrere, credo. – alecxe
Grazie! Penso che andrò con quello. – Shar