我在尝试将2GB .csv文件导入sqlite时遇到了一些问题。 .csv文件有很多列,我尝试使用sqlite manager,因为这提供了一种在sqlite中创建具有正确列名的表的方法。
但是,当我尝试在sqlite管理器中导入.csv文件时,由于某种原因遇到内存问题,导入失败。我得到'致命错误:记忆力不足'。
有什么方法可以解决这个问题吗?我考虑过将文件拆分成块但不知道如何执行此操作而不必打开文件本身并遇到内存问题。
谢谢,
本
答案 0 :(得分:0)
看起来您在sqlite-manager中遇到了一个已知错误 - 请参阅项目问题跟踪器中的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
实用程序。