微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 R 数据框写入 Excel 文件,保持 Excel 的默认日期格式

如何解决将 R 数据框写入 Excel 文件,保持 Excel 的默认日期格式

如果您打开一个 Excel 2016 的新实例并按以下格式输入日期 8/15,它将在 Excel 中输出如下:

excel image

Excel 的 格式菜单将其标识为 Custom > d-mmm。现在让我们继续讨论这个问题的 R 部分。我将创建一个简单的数据框:

df <- data.frame(col1 = as.Date(c("2021-01-01","2021-02-15")),col2 = c(3,9))
#>         col1 col2
#> 1 2021-01-01    3
#> 2 2021-02-15    9

我想将此数据框写入 Excel 文件,并且认为 Excel 的 Custom > d-mmm 日期格式(如图所示)以上)。

我的第一次尝试非常通用,并且使用了 writexl 包:

library(writexl)
write_xlsx(df,"df.xlsx")

excel image

Excel 最终将这些日期读取为 Excel 的 yyyy-mm-dd 格式,而不是我想要的 Custom > d-mmm 格式。让我更复杂一点,并尝试使用 openxlsx 包来获得我想要的:

library(openxlsx)
options(xlsx.date.format = "d-mmm")
write.xlsx(df,file = "df.xlsx",asTable = TRUE)

excel image

这一次,输出采用 Excel 格式 Date > *3/14/2012。如何在 Excel 中以 Excel Custom > d-mmm 格式获取要识别的日期?输出看起来像这样,不应该涉及任何手动 Excel 步骤:

excel image

解决方法

按照文档应用全局格式语法

options(openxlsx.dateFormat = "d-mmm")

文档:

https://rdrr.io/cran/openxlsx/man/openxlsx.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。