环境: R
目标:从csv导入所有数据,其中“开始日期”是2013年10月1日之前
数据结构:
Trip ID Duration Start Date Start Station
4576 63 8/29/2013 14:13 South Van Ness at Market
4607 70 8/29/2013 14:42 San Jose City Hall
4130 71 8/29/2013 10:16 Mountain View City Hall
4251 77 8/29/2013 11:29 San Jose City Hall
代码:
library(sqldf)
tripData <- read.csv.sql("201402_trip_data.csv", sql = "select * from file where 'Start Date' <= '10/1/2013'",header = TRUE, eol = "\n")
问题:
R中没有警告,但结果显示只导入了11个变量名,但在tripData中没有观察到。
答案 0 :(得分:0)
您的查询有问题:
select * from file where 'Start Date' <= '10/1/2013'
这告诉SQL按字典顺序将字符串'Start Date'
与'10/1/2013
'进行比较。我相信这永远不会成真,因为S
字母在数字1
后比较。您需要在列名称周围使用反引号而不是引号。这是您打算运行的查询:
select * from file where `Start Date` <= '10/1/2013'
> tripData <- read.csv.sql("201402_trip_data.csv", sql = "select * from file where `Start Date` <= '10/1/2013'",header = TRUE, eol = "\n")