사용 SQLite는에 거대한 데이터를 삽입 : Importing a CSV file into a sqlite3 database table using Python대량 나는이 읽기 파이썬
을하고 모든 사람이 한 줄 한 줄을 읽는 대신에 SQLite는에서 대량 .import를 사용하여 제안 것으로 보인다. 그러나 수백만 행의 데이터가 있으면 삽입 속도가 느려집니다. 이것을 피할 수있는 다른 방법이 있습니까?
업데이트 : 다음 코드를 한 줄씩 삽입하려고했지만 속도가 예상보다 좋지 않습니다. 단지 BEGIN 및 COMMIT로 삽입을 둘러싼하여 단일 트랜잭션에서 모두를 할 수 있는지 확인하십시오, 그것은
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