openxlsx检测日期有问题

时间:2017-12-11 22:28:56

标签: r excel

我正在使用包openxlsx将.xlsx文件打开到R。这是我试图阅读的数据的基本示例:

enter image description here

这是我用来阅读excel的代码:

read.xlsx("F:/Test.xlsx",colNames = T,detectDates = T)

但是我收到以下错误:

Error in read.xlsx.default("F:/Test.xlsx", colNames = T, detectDates = T) : 
  basic_string::substr: __pos (which is 8) > this->size() (which is 2)

如果我删除excel的第一行,我会一直收到相同的错误。并且它真的有线,因为我上次运行脚本(2周前),Excel的格式相同,我没有收到此错误,我没有更新R或Rstudio或包。

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我在excel上将格式日期从:09/20/2017更改为09/20/17,并且read.xlsx起作用了。

答案 1 :(得分:0)

解决此问题的另一种方法可能是在不使用detectDates=TRUE的情况下读取数据,并将其放入R-工作区后,相应地使用{{转换包含日期的列(将被读取为双精度))。 1}}函数:xlsx

答案 2 :(得分:0)

我也遇到了同样的问题,发现先调用 loadWorkbook 并将工作簿传递给 read.xlsx 而不是文件名可以解决这个错误。

对于这个例子:

wb = loadworkbook("F:/Test.xlsx")
read.xlsx(xlsxFile=wb,sheet=1,colNames = T,detectDates = T)