【问题标题】:How to copy an uploaded csv file into a new csv file using SHINY? [closed]如何使用 SHINY 将上传的 csv 文件复制到新的 csv 文件中? [关闭]
【发布时间】:2017-07-20 07:07:48
【问题描述】:

我想将用户在 UI 上上传的 CSV 文件中的数据复制到我系统上的另一个 CSV 文件中。数据应该以完全相同的方式复制。应该怎么做?

【问题讨论】:

  • 这个问题的范围很广。您知道如何从普通的 r 会话中复制文件吗? (检查?file.copy

标签: r csv shiny


【解决方案1】:

服务器.R:

library(shiny)
library(DT)

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

  df_products_upload <- observeEvent(input$target_upload,{
    inFile <- input$target_upload
    if (is.null(inFile))
      return(NULL)
    file.copy(inFile$datapath, paste0(getwd(),"/data.csv"), overwrite = TRUE, recursive = FALSE,
              copy.mode = TRUE, copy.date = FALSE)
  })

}
)

ui.R

ui <- shinyUI(fluidPage(

  fileInput('target_upload', 'Choose file to upload',
            accept = c(
              'text/csv',
              'text/comma-separated-values',
              '.csv'
            ))

)
)

这会将文件复制到您工作目录中的 data.csv 中。希望这会有所帮助!

【讨论】:

  • 弗洛里安你好!我认为上面的代码不起作用。该文件根本没有被复制到另一个文件中。 Data.csv 也没有在我的本地系统中创建。
  • 奇怪,你是在本地运行还是在服务器上运行?它对我有用。
  • 我修改了代码,它现在使用了一个 observeEvent,前面的例子实际上是不好的做法,因为我在响应式中包含了一个副作用。
  • 谢谢弗洛里安!你帮了大忙
  • 没问题,很高兴我能帮上忙。
猜你喜欢
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
  • 2015-04-01
  • 1970-01-01
  • 2021-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多