如何将代码集成到闪亮的应用程序中并上传文件?

安德烈斯·莫拉

我是闪亮的新手,我希望您对我办公室的要求提出建议。对于目前没有提供更多信息或代码,我提前道歉。我目前编写了一个 R 脚本,它执行以下操作:

  • 使用 read_excel 导入 7 个 excel 文件:文件 1 将转到数据集 1 文件 2 将转到数据集 2 文件 3、4、5、6、7 将使用 lapply 转到数据集 3
  • 进行大量数据清理、格式化、解析和排序
  • 将所有内容合并在一起并创建具有特定格式的最终​​ excel 和 txt 文件

我需要一个闪亮的网络应用程序:

  • 为用户提供 3 个不同的上传框。每种类型的文件一个 (1 / 2 / 3,4,5,6,7)
  • 在内部保存上传的文件,以便我已经拥有的代码可以使用它们进行处理
  • 让用户将我的代码制作的 2 个输出文件下载到计算机
  • 如果可能,在应用程序上显示一个日志窗口,以便用户知道代码执行是否出现问题
  • 不需要数据集可视化

我可能会问很多。如果您能给我一些关于如何开始工作的提示,我将不胜感激。如果可能,我不想修改我当前的代码(我可以闪亮地获取文件,并调用我的代码以便它可以处理它们吗?)

灰烬

这是一个显示上传文件、处理文件和下载文件的最小示例。

为简单起见,我使用了 3 个输入和一个输出。

如果你想通知用户某事发生了,你可以使用 showNotification()

library(shiny)

ui <- fluidPage(
  
    #File Upload Boxes
    fileInput("myfileinput_1", label =  "Upload File 1", accept = ".csv"),
    fileInput("myfileinput_2", label =  "Upload File 2", accept = ".csv"),
    fileInput("myfileinput_3", label =  "Upload File 3", accept = ".csv"),
    
    #Button
    actionButton("mybutton", label =  "Process Uploaded Files"),
    
    #Table Showing Processed Data
    tableOutput("mytable"),
    
    #Download Buttons
    downloadButton("myfiledownload", label = "Download Processed File")
    
)

server <- function(input, output, session) {

    #A reactive dataframe to store our outputfile
    reactives <- reactiveValues(
      
      df_output = NULL
      
    )
    
    #Runs when button is pressed
    observeEvent(input$mybutton, {
        
        #Check that all 3 files are selected before loading
        if(!is.null(input$myfileinput_1) & !is.null(input$myfileinput_2) & !is.null(input$myfileinput_3)) {
        
            #Load input files
            df_input_1 <- read.csv(input$myfileinput_1$datapath)
            df_input_2 <- read.csv(input$myfileinput_2$datapath)
            df_input_3 <- read.csv(input$myfileinput_3$datapath)
            
            #Use input to create an output (we're just using a simple example)
            reactives$df_output <- data.frame(
                input = c("Input 1", "Input 2", "Input 3"),
                rows = c(nrow(df_input_1), nrow(df_input_2), nrow(df_input_3))
            )
            
            showNotification("Files Successfully Processed", type = "message")
            
        } else {
            
            showNotification("Ensure all three files are selected before loading", type  = "error")
            
        }

    })
    
    #Table Output
    output$mytable <- renderTable({
      
        reactives$df_output
      
    })
    
    #Download handler
    output$myfiledownload <- downloadHandler(
        
        filename = "mydata.csv",
        content = function(file) {write.csv(reactives$df_output, file, row.names = FALSE)}
        
    )
    
}

shinyApp(ui, server)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将qml文件集成到qt-widgets应用程序中?

如何将Angular 2应用程序集成到Django应用程序中

如何将CPP应用程序与OpenCL代码集成

如何将Flutter应用程序与Python代码集成

如何将绘图可视化显示到闪亮的应用程序中

如何将Twitter时间轴嵌入到闪亮的应用程序中?

如何将CCAvenue集成到Ionic应用程序?

如何将Disqus集成到Aurelia应用程序?

如何将旧版可执行文件集成到Spring Integration应用程序中?

如何将 HTML 模板中的 css/js 集成到 Laravel 应用程序中?

Citrus SplitPay:如何将Split Pay集成到移动应用程序中

如何将Mustache模板引擎集成到Phalcon PHP应用程序中?

如何将FusionChart集成到使用Durandal和Knockout开发的SPA应用程序中?

如何将BIRT日志集成到应用程序日志中?

如何将Paytm钱包集成到Android应用程序中?

如何将独立的Python脚本集成到Rails应用程序中?

我们如何将Captcha集成到iOS应用程序中?

如何将laravel软件包集成到应用程序中

如何将Paytm钱包集成到Android应用程序中?

如何将Twitter Bootstrap集成到ember-cli应用程序中?

如何将RequireJS模块集成到AngularJS应用程序中?

如何将Prism 7 WPF集成到旧的大型WinForms应用程序中

如何将Samsung Gear Steps集成到android应用程序中?

如何将OPEN_APP_FEATURE操作集成到Android应用程序中?

如何将React应用程序集成到Wordpress(反应路由器)中?

如何将EmberJS逐步集成到Rails Web应用程序中?

Django:如何将Django Rest框架集成到现有应用程序中?

如何将现有的angular js应用程序集成到Laravel 5中

如何将Gmail登录信息集成到Android应用程序中?