2013-05-31 24 views
1

我在嘗試將2GB .csv文件導入到sqlite時遇到了一些問題。 .csv文件有大量的列,並且我試圖使用sqlite管理器,因爲這提供了一種在sqlite中使用正確的列名創建表的方法。如何將一個大的.csv文件導入到sqlite中 - 使用sqlite管理器的內存問題

但是,當我嘗試在sqlite管理器中導入.csv文件時,由於某些原因我遇到了內存問題,導入失敗。我得到'致命錯誤:內存不足'。

有沒有什麼辦法可以解決這個問題?我想過把文件分成塊,但不知道如何做到這一點,而不必打開文件本身並遇到與內存有關的問題。

感謝,

回答

0

它看起來像您所遇到的sqlite的經理一個已知的錯誤 - 看到issue 414:out of memory error when trying to import a large (268MB) CSV file在項目的問題跟蹤器。

如果你用sqlite-manager導入失敗仍然給你一個空表和正確的列名,我會在sqlite shell中打開該數據庫文件,並使用內置的.import函數來獲取數據。

如果這不是你的選擇,或者你決定用sqlite-manager來解決這個問題,那麼你的想法就是分割CSV文件。

根據你的平臺,你有很多選項來分割你的文件。這裏有很多Windows免費軟件(比如GSplit),你應該在任何類似Unix的機器上找到split實用程序。