【发布时间】:2017-09-11 03:58:17
【问题描述】:
新的writexl 包的正确日期格式是什么?我在lubridate 日期上尝试过,生成的 Excel 电子表格包含yyyy-mm-dd 形式的字符串(即不是 Excel 日期)。
【问题讨论】:
新的writexl 包的正确日期格式是什么?我在lubridate 日期上尝试过,生成的 Excel 电子表格包含yyyy-mm-dd 形式的字符串(即不是 Excel 日期)。
【问题讨论】:
writexl 包的目的本质上是创建 excel 文件格式的 R 表的镜像。因此,在导出到 excel 时,将数据采用通常的 R 日期/时间格式之一(如 as.Date、as.POSIXct 等)不会转换为从 YYYY-mm-dd 转换为 d/m/y 的日期格式.如果您希望它在 excel 文件中采用更标准的 excel 日期/时间格式,最好在导出之前使用 strftime() 函数进行转换,如下所示:
require(writexl)
write_xlsx(
data.frame(date=strftime(c("2017-09-10","2017-09-11","2017-09-12"),"%d/%m/%y")),
"~/Downloads/mydata.xlsx")
输出(在 xlsx 文件中):
date
10/09/17
11/09/17
12/09/17
编辑:
如果您希望数据在新文件中后成为 Excel 日期格式,那么将 as.POSIXct() 添加到上述文件将确保这一点。
【讨论】:
format( ... , "%d/%m/%y)?根据您的建议,我尝试了一些,但它们并不完全有效。总是字符串。
as.POSIXct 的解决方案(请参阅我的答案)
当我使用 as.POSIXct 将我的日期转换为 POSIXct 日期时,它起作用了。
【讨论】: