如何在R中写入.csv()输出之前添加任意文本行? 最小可重复示例

如何在R中写入.csv()输出之前添加任意文本行? 最小可重复示例,r,shiny,R,Shiny,我有以下代码: df <- data.frame(foo = 1:5, bar = 5:1) bla <- "some text" write.csv(df, "foobar.csv") 更广泛的背景 这是一个闪亮应用的一部分,我在服务器功能中有这样一点: output$dlcsv <- downloadHandler( filename = function() { paste0(format(Sys.ti

我有以下代码:

df <- data.frame(foo = 1:5, bar = 5:1)

bla <- "some text"

write.csv(df, "foobar.csv")
更广泛的背景 这是一个闪亮应用的一部分,我在服务器功能中有这样一点:

  output$dlcsv <- downloadHandler(
    filename = function() {
      paste0(format(Sys.time(), "%Y%M%e%H%M%S"), ".csv")
    },
    content = function(file) {
      write.csv(datareactive(), file)
    }
  )
output$dlcsv是一个下载按钮,datareactive是一个数据帧,我将其导出为以今天的日期和时间命名的csv。我想在数据本身之前向文本文件添加一些行。因此,上述问题的解决方案需要在这种情况下工作。

您可以简单地将cat用于bla,然后从write.csv切换到write.table,以便能够设置append=TRUE:

您只需将cat用于bla,然后从write.csv切换到write.table即可设置append=TRUE:


是的,这个有效。在Shinny中,我使用了catbla,\n\n,file=file,效果很好。是的,这很有效。在Shinny中,我使用了catbla,\n\n,file=file,效果非常好。
  output$dlcsv <- downloadHandler(
    filename = function() {
      paste0(format(Sys.time(), "%Y%M%e%H%M%S"), ".csv")
    },
    content = function(file) {
      write.csv(datareactive(), file)
    }
  )
df <- data.frame(foo = 1:5, bar = 5:1)

bla <- "some text"

cat(bla, "\n\n", file = "foobar.csv")

write.table(df, "foobar.csv", sep = ",", append = TRUE)
some text 

"foo","bar"
"1",1,5
"2",2,4
"3",3,3
"4",4,2
"5",5,1