【问题标题】:How to use uploaded file for saving onto local server in R Shiny?如何使用上传的文件保存在 R Shiny 的本地服务器上?
【发布时间】:2017-07-19 08:24:30
【问题描述】:

我想使用用户上传的文件,然后将其链接到我的其他 R 脚本。我现在无法访问该文件。

UI -> fileInput("ghiFile", "Choose GHI File (.csv)", 
accept=c('text/csv',  'text/comma-separated-values','text/plain', '.csv')),

server.r 文件为空,因为我无法访问该文件。我现在想将上传的文件保存在我的本地机器上。

【问题讨论】:

    标签: r csv shiny


    【解决方案1】:

    像这样:

    ui.R

    ui <- shinyUI(fluidPage(
    
      fileInput('target_upload', 'Choose file to upload',
                accept = c(
                  'text/csv',
                  'text/comma-separated-values',
                  '.csv'
                )),
      DT::dataTableOutput("sample_table")
    
    )
    )
    

    服务器.R

    library(shiny)
    library(DT)
    
    # Define server logic required to draw a histogram
    shinyServer(function(input, output) {
    
      df_products_upload <- reactive({
        inFile <- input$target_upload
        if (is.null(inFile))
          return(NULL)
        df <- read.csv(inFile$datapath, header = TRUE,sep = ";")
        return(df)
      })
    
      output$sample_table<- DT::renderDataTable({
        df <- df_products_upload()
        DT::datatable(df)
      })
    
    }
    )
    

    当然,您必须确保分隔符正确,或者为此使用输入。希望这会有所帮助!

    【讨论】:

    • 谢谢@Florian,你如何让它在一个动作按钮的调用中工作。这样功能会在您按下操作按钮后运行吗?
    • 嗨@mikey,您只想在点击actionButton 后运行什么功能?此外,对于 cmets 来说,您的问题的答案可能有点过于详尽,因此请考虑在 SO 上提出一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 2012-01-22
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    相关资源
    最近更新 更多