2011-05-12 145 views
1

我想将一个excel工作表导入到R.我想从工作表中检索(字符)ID列和几个日期列。下面的代码工作正常,但将一列作为日期而不是另一列。我认为这与第二个日期字段中更多的领先列是空的有关。RODBC sqlQuery as.is返回错误的结果

dateFile <- odbcConnectExcel2007(xcelFile) 
query <- "SELECT ANIMALID, ST_DATE_TIME, END_DATE_TIME FROM [KNWR_CL$]" 
idsAndDates <- sqlQuery(dateFile,query) 

所以我现在的计划是把日期列作为字符字段并使用as.POSIXct自己转换它们。但是,以下代码在idsAndDates中只生成一行。

dateFile <- odbcConnectExcel2007(xcelFile) 
query <- "SELECT ANIMALID, ST_DATE_TIME, END_DATE_TIME FROM [KNWR_CL$]" 
idsAndDates <- sqlQuery(dateFile,query,as.is=TRUE,TRUE,TRUE) 

我在做什么错?

+1

尝试'as.is = c(TRUE,TRUE,TRUE)' – Andrie 2011-05-12 21:59:25

+0

谢谢。我现在得到所有的行。日期现在是字符字段。但它看起来像第一个转换为日期,然后转换为字符字段。在Excel中,它们都是MM/DD/YY HH:MM格式,但在R中第一个现在是YYYY-MM-DD HH:MM:SS格式。这是我做as.is之前的样子。第二种格式就像在excel中一样。 – blindjesse 2011-05-13 03:17:45

+0

几个镜头:尝试'na.strings =“”'或'believeNRows = FALSE'(或两者)。并确保在Excel下这个字段是日期(即不存储为文本)。 – Marek 2011-05-13 10:45:51

回答

1

我必须继续前进,并最终使用gdata库(工作)。尽管如此,我仍然对这个答案感兴趣。