Я прочитал это: Importing a CSV file into a sqlite3 database table using PythonBulk вставки больших объемов данных в SQLite с помощью Python
и кажется, что каждый предлагает использовать линию за линией чтения вместо того, чтобы использовать насыпной .Import из SQLite. Однако это сделает вставку очень медленной, если у вас есть миллионы строк данных. Есть ли другой способ обойти это?
Обновление: я попробовал следующий код, чтобы вставить строку за строкой, но скорость не такая хорошая, как я ожидал. Есть в любом случае, чтобы улучшить его
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 импортировать сразу несколько CSV-файлов. Я не мог найти способ сделать это? – Shar
Не думайте, что можно импортировать сразу несколько файлов csv. Думаю, разделить данные на куски и вставить их в транзакции. – alecxe
Спасибо! Думаю, я собираюсь пойти с этим. – Shar