R:write.xlsx2文件名为Sys.time()

时间:2017-03-21 02:19:10

标签: r

我正在尝试使用write.xlsx2函数将R中的数据框输出到Excel文件。

我想将文件名设置为今天的数据。

我尝试过以下代码:

paste(c(format(Sys.time(), "%m%d%Y"), '.xlsx'), sep="")

结果是

[1] "03202017" ".xlsx"

好。我得摆脱那个引号。

noquote(paste0(c(format(Sys.time(), "%m%d%Y"),'.xlsx'), sep =""))

它似乎有效,但结果之间存在令人烦恼的空间,如下所示:

[1] 03202017 .xlsx

最糟糕的是它在write.xlsx2函数中不起作用:

write.xlsx2(fcst,noquote(paste0(c(format(Sys.time(), "%m%d%Y"),'.xlsx'), sep ="")) , sheetName = "Sheet1", append=F)

错误消息如下:

Error in createWorkbook(type = ext) : 
  Unknown format 03202017Unknown format xlsx
In addition: Warning messages:
1: In if (type == "xls") { :
  the condition has length > 1 and only the first element will be used
2: In if (type == "xlsx") { :
  the condition has length > 1 and only the first element will be used

我做错了什么?如何删除其间的空格。

如何使用今天的文件名输出excel文件?

谢谢。

1 个答案:

答案 0 :(得分:0)

以前是我使用stringr包时使用的一些代码:

require(stringr)
todaysdate <- paste(str_match(Sys.Date(), "..(..)-(..)-(..)")[,c(3,4,2)], collapse=".")

当然,您可以更改collapse参数以匹配您要将日期数字分隔的内容,包括"",以便不分离。