我正在使用包openxlsx
将.xlsx文件打开到R
。这是我试图阅读的数据的基本示例:
这是我用来阅读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或包。
答案 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)