You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中实现F字符串功能 导出携带昨日日期的xlsx文件

R 导出文件自动拼接日期的实现方法

首先注意R函数大小写敏感,获取系统日期的正确写法是Sys.Date(),你之前使用的Sys.date()会报错。以下是三种可直接落地的实现方案:


方法1:基础R原生实现(无需额外装包,通用场景首选)

使用R自带的字符串拼接函数paste0直接拼接固定文件名和日期变量即可:

# 定义昨日日期变量
yesterday <- Sys.Date() - 1
# 拼接生成完整文件名
file_name <- paste0("Mydata_vtu_autoreport_", yesterday, ".xlsx")
# 导出文件
write_xlsx(ecosftp, file_name)

方法2:类Python f-string写法(语法更直观)

你用到的{变量名}插值语法是glue包提供的功能,未加载该包时无法直接识别:

# 首次使用先安装包
install.packages("glue")
# 加载包
library(glue)

yesterday <- Sys.Date() - 1
# 直接通过{}插入变量,和你预期的写法一致
file_name <- glue("Mydata_vtu_autoreport_{yesterday}.xlsx")
write_xlsx(ecosftp, file_name)

方法3:格式化字符串写法(适合复杂格式需求)

使用sprintf实现C风格的字符串格式化:

yesterday <- Sys.Date() - 1
file_name <- sprintf("Mydata_vtu_autoreport_%s.xlsx", yesterday)
write_xlsx(ecosftp, file_name)

可选拓展:自定义日期格式

如果需要调整日期显示样式(比如去掉横杠生成20211009格式),可以用format()函数预处理日期变量:

yesterday <- Sys.Date() - 1
# 转换为无分隔符的8位数字日期格式
yesterday_formatted <- format(yesterday, "%Y%m%d")
file_name <- paste0("Mydata_vtu_autoreport_", yesterday_formatted, ".xlsx")

内容的提问来源于stack exchange,提问作者Yomi.blaze93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:54:02