tôi đọc này: Importing a CSV file into a sqlite3 database table using PythonBulk chèn dữ liệu khổng lồ vào SQLite sử dụng Python
và có vẻ như rằng tất cả mọi người gợi ý sử dụng line-by-line đọc thay vì sử dụng .import số lượng lớn từ SQLite. Tuy nhiên, điều đó sẽ làm cho việc chèn thực sự chậm nếu bạn có hàng triệu hàng dữ liệu. Có cách nào khác để phá vỡ điều này không?
Cập nhật: Tôi đã thử mã sau để chèn từng dòng nhưng tốc độ không tốt như tôi mong đợi. Liệu có cách nào để cải thiện nó
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 có thể nhập nhiều tệp CSV cùng một lúc hay không. Tôi không thể tìm cách để làm điều đó? – Shar
Đừng nghĩ rằng có thể nhập nhiều tệp csv cùng một lúc. Tách dữ liệu theo khối và chèn chúng vào các giao dịch nên là con đường để đi, tôi nghĩ vậy. – alecxe
Cảm ơn bạn! Tôi nghĩ rằng tôi sẽ đi với điều đó. – Shar