Omar
January 11, 2022, 11:02am
1
Hello i want to include in this upload option in my shiny app an option to both read csv files and excel files , i can't figure it out , Thank you in advance.
data = reactive({
file1 = input$file
if(is.null(file1)) {return(NULL)}
if('.csv' %in% (file1$datapath)){
data = read.csv(file1$datapath)
}
else{
data = read_excel(file1$datapath)
}
data
})
Here is an example you can run and explore to upload a .csv file
library(shiny)
library(DT)
#>
#> Attaching package: 'DT'
#> The following objects are masked from 'package:shiny':
#>
#> dataTableOutput, renderDataTable
# Define UI
ui <- shinyUI(fluidPage(
fileInput('target_upload', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'.csv'
)),
radioButtons("separator","Separator: ",choices = c(";",",",":"), selected=";",inline=TRUE),
DT::dataTableOutput("sample_table")
)
)
# Define server logic
server <- 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 = input$separator)
return(df)
})
output$sample_table<- DT::renderDataTable({
df <- df_products_upload()
DT::datatable(df)
})
}
)
# Run the application
shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents
Created on 2022-01-11 by the reprex package (v2.0.1)
system
Closed
February 1, 2022, 12:30pm
3
This topic was automatically closed 21 days after the last reply. New replies are no longer allowed. If you have a query related to it or one of the replies, start a new topic and refer back with a link.