xlsx 文件中的日期格式化单元格到 R

Date formatted cell in xlsx files to R

我有一个 excel 文件,在某些单元格中包含日期信息。像 :

我通过以下命令将此文件读入 R 中:

library(xlsx)

data.files = list.files(pattern = "*.xlsx")
data <- lapply(data.files, function(x) read.xlsx(x, sheetIndex = 9,header = T))

除了带有日期的单元格外,一切都是正确的!我没有将 xlsx 信息放入这些单元格中,而是始终将 42948 作为日期:

有人知道我该如何解决这个问题吗?

如您所见,导入文件后,日期以数值表示(此处 42948)。它们实际上是Excel中日期信息的内部表示。这些值是 R 提供的值,而不是“真实”日期。

您可以使用 as.Date(42948 - 25569, origin = "1970-01-01")

在 R 中获取这些日期

请注意,您还可以使用包含日期内部表示的向量,因此这也应该有效

vect <- c(42948, 42949, 42950)
as.Date(vect - 25569, origin = "1970-01-01")

PS:要转换 Excel 日期时间列,请参阅 this(第 31 页)