2017-02-21 51 views
-1

我试图通过过滤几列来导入大的CSV。所以基本上我只想要几个字段。我跑的代码无法在导入CSV时过滤列

data <- read.csv.sql("D:/ABC June16.csv", 
        sql = "select Zone,Region from file", 
        sep = "\t") 

得到了错误

错误sqliteSendQuery(CON,声明,bind.data): 错误的语句:没有这样的列:区

但我在CSV中同时具有列区域和区域。任何想法为什么发生这种情况?

+3

上做题应提供完整的最小的自包含重复的例子,其他任何人可以复制并粘贴到他们的会话复制错误。 –

+0

您的文件被标签独家或分类? – Roland

+0

罗兰德我刚刚在Excel中获得的数据并将其保存为CSV,因为它的CSV可能是逗号分隔以及..我试过数据< - read.csv.sql(“D:/ ABC June16.csv” , sql =“从文件中选择区域,区域”, sep =“,”)这个,但不工作... –

回答

2

我会建议使用FREAD从优秀data.table包:

library(data.table) 
fread("D:/ABC June16.csv", select = c("Zone", "Region")) 
+0

谢谢..我试过fread,但它是说我需要一个64位的机器,因为内存不足..所以不得不尝试这个其他选项..感谢您的建议反正... –

+0

@sb csv有多大文件?我非常确定你有一台64位的机器,你确定它与检测大整数无关,它想用64位的整数存储,使用bit64? – wligtenberg