Modérateur : Groupe des modérateurs
Code : Tout sélectionner
library(shiny)
library(rmarkdown)
ui <- fluidPage(
titlePanel("Uploading Files"),
sidebarLayout(
sidebarPanel(
fileInput(
inputId = "file1", label = "Choose CSV File",
multiple = FALSE,
accept = c("text/csv", "text/comma-separated-values,text/plain", ".csv")
),
radioButtons("format", "Document format", c("PDF", "HTML", "Word"), inline = TRUE)
),
mainPanel(
tableOutput("contents"),
downloadButton("downloadReport")
)
)
)
server <- function(input, output) {
dataset <- reactive({ # some computation on the uploaded file
req(input$file1)
read.csv(file = input$file1$datapath)
})
output$contents <- renderTable({ # print the first few rows of the files, not really needed though
req(dataset())
head(dataset())
})
output$downloadReport <- downloadHandler(
filename = function() {
paste("my-report", sep = ".", switch(
input$format, PDF = "pdf", HTML = "html", Word = "docx"
))
},
content = function(file) {
src <- normalizePath("report.Rmd")
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, "report.Rmd", overwrite = TRUE)
out <- render(
input = "report.Rmd",
output_format = switch(input$format, PDF = pdf_document(), HTML = html_document(), Word = word_document()),
params = lis(data = dataset()) # need to set params in the Rmd file to use the uploaded dataset
)
file.rename(out, file)
}
)
}
shinyApp(ui, server)
Code : Tout sélectionner
---
...
params:
emplacement_donnees: "chemin/vers/mon/fichier.csv"
---
Code : Tout sélectionner
read.csv(params$emplacement_donnees, ...)
Code : Tout sélectionner
rmarkdown::render(
...,
params = list(emplacement_donnees = input$emplacement_donnees)
)
Code : Tout sélectionner
rmarkdown::render(
...,
params = list(emplacement_donnees = input$emplacement_donnees)
)
Code : Tout sélectionner
Quitting from lines 75-77 (traitemant_bis_shiny.Rmd)
Warning: Error in read.table: 'file' doit être une chîne de caractères ou une connection
[No stack trace available]
Code : Tout sélectionner
donne<-read.csv2(params$emplacement_donnees, na.strings = ".", header = TRUE)
Code : Tout sélectionner
---
...
params:
emplacement_donnees: "chemin/vers/mon/fichier.csv"
---
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité