czytam to: Importing a CSV file into a sqlite3 database table using PythonLuzem wstawić ogromne danych do SQLite przy użyciu Python
i wydaje się, że każdy sugeruje użycie wiersz po wierszu czytanie zamiast korzystania z SQLite .import luzem. To jednak spowoduje, że wstawianie będzie naprawdę powolne, jeśli masz miliony rzędów danych. Czy jest jakiś inny sposób na obejście tego?
Aktualizacja: Próbowałem następującego kodu, aby wstawić wiersz po wierszu, ale prędkość nie jest tak dobra, jak się spodziewałem. Czy mimo to poprawić to
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()
Może SQLite importować wiele plików CSV na raz. Nie mogłem znaleźć sposobu na zrobienie tego? – Shar
Nie sądzę, że możliwe jest zaimportowanie wielu plików CSV jednocześnie. Dzielenie danych na części i wstawianie ich do transakcji powinno być moim zdaniem najlepszym rozwiązaniem. – alecxe
Dziękujemy! Myślę, że pójdę z tym. – Shar