1

您好,我收到了一份 XL 电子表格(……不是我的错,请继续阅读……)。

您可能知道 XL 不能很好地处理日期时间和毫秒。要在单元格中显示毫秒,您必须选择特殊格式aaaa-mm-jj hh:mm:ss.000

我需要将此 XL 表加载到R其中XLConnect(我不能使用其他包)。

快照

如你看到的:

  • 单元格公式中的B2内容是2012-10-01 12:15:15
  • B2由于我的格式,单元格中显示的内容是2012-10-01 12:15:15.447
  • 仅供参考,我B2B3

我的问题是我所做的

wb = loadWorkbook(currentFile)
dataFile <- readWorksheet(wb, sheet=c('Sheet1'),header=TRUE);
#or even when I specify the type (my real file is a 3 columns matrix)
dataFile <- readWorksheet(wb, sheet=c('Sheet1'),header=TRUE, 
                              colTypes = c(XLC$DATA_TYPE.NUMERIC,XLC$DATA_TYPE.DATETIME,XLC$DATA_TYPE.NUMERIC), 
                              dateTimeFormat='%Y-%m-%d %H:%M:%OS');

我得到的是没有我宝贵data.frame2012-10-01 12:15:15毫秒

我的问题是:

我能做些什么来确保在几毫秒内R加载它datetime(一次没有我搞乱加载numeric并在之后转换自己)

4

1 回答 1

2

我已在https://github.com/miraisolutions/xlconnect的 github 存储库中记录并修复了问题13。现在应该遇到毫秒。只需确保在打印之前也进行了设置,否则不会显示毫秒。options(digits.secs = 3)

于 2013-05-25T14:02:07.903 回答