Как сделать файл csv, написанный с использованием приведенного ниже кода, доступным для загрузки пользователю? Как пользователь получит этот файл с помощью кнопки загрузки? write.csv (csv_write, file = "test.csv", row.names = FALSE, na = "")
Backend - Как сделать файл csv с результатами доступным для загрузки в SHINY?
comment
Быстрый поиск дает shiny.rstudio.com/articles/download.html
- person Remko Duursma   schedule 20.07.2017
comment
Мой вторичный сценарий R решает проблему и предоставляет решение в виде файла CSV. Я просто хочу знать, как сделать этот файл CSV доступным для загрузки. По ссылке показано, как загрузить данные из уже существующей базы данных в R. Спасибо за помощь! :)
- person Ayan Saraf   schedule 20.07.2017
comment
Если вы используете DT в своем shinyapp, вы можете использовать расширение кнопок. Ознакомьтесь с расширениями здесь: rstudio.github.io/DT/extensions.html. Его легко реализовать, по моему опыту, он более удобен для пользователя, и вы можете организовать их как хотите, используя extend = collections и поместив все желаемые кнопки в список.
- person Asayat   schedule 21.07.2017
Ответы (1)
В своей серверной функции вы можете написать обработчик загрузки:
output$downloadData5 <- downloadHandler(
filename = function() {'test.csv'},
content = function(file) {
write.delim(ftext(), file, row.names = FALSE,sep="\t")
}
)
Где ftext () - это функция, которая возвращает ваш фрейм данных, который вы хотите загрузить как csv.
В вашем пользовательском интерфейсе будет функция dashboardBody (), в которой вы можете иметь кнопку загрузки:
tabPanel('First Touch Point Campaign Level',
downloadButton('downloadData5', 'Download This Data !!',
style="display: block; margin: 0 auto; width: 230px;color: black;"),
dataTableOutput('datatable5'))
ftext () - это реактивная функция, которая возвращает фрейм данных. Код выглядит так:
ftext <- eventReactive(input$goButton, {
df = data.frame(replicate(10,sample(0:1,10,rep=TRUE)))
return(df)
})
person
anarchy
schedule
20.07.2017
Спасибо @Abhishek Kumar за оперативный ответ. Что будет в функции ftext (), с помощью которой она вернет файл csv, доступный для загрузки?
- person Ayan Saraf; 20.07.2017
Спасибо. Это помогает. Но что такое write.delim?
- person Ayan Saraf; 20.07.2017
Это похоже на write.csv, но вместо значений, разделенных запятыми, вы можете иметь значения, разделенные любым разделителем. Вы также можете использовать write.csv
- person anarchy; 20.07.2017