shiny - 使持久本地存储中的数据可编辑
问题描述
我正在创建一个闪亮的应用程序,其中包含来自Dean Attali 博客的本地持久数据,如以下部分所示:1. 本地文件系统(本地)。
我的问题是,是否可以使数据可编辑并从本地驱动器重新加载?
聚合来自输入的数据
formData <- reactive({
#data <- sapply(fieldsMandatory, function(x) input[[x]])
formdata <- c("Associate Name" = input$aname,"Client Name" = input$cname,"Project"=input$project,
"Associate Client Email"=input$cemail,
"Ask By Customer"=input$ask,"Project Type"=input$type,"Billing"=input$bill,"Remarks"=input$rem ,
"Completion Date" = as.character(input$date), "Website status" = input$status )
formdata <- t(formdata)
formdata
})
将数据保存到 csv(每次提交时都会创建一个单独的文件)
saveData <- function(formdata) {
fileName <- sprintf("%s_%s.csv",
humanTime(),
digest::digest(formdata))
write.csv(x = formdata, file = file.path(responsesDir, fileName),
row.names = FALSE, quote = TRUE)
}
加载数据(绑定所有包含响应的 csv)
Data <- reactive( {
# Read all the files into a list
files <- list.files(responsesDir, full.names = TRUE)
data <- lapply(files, read.csv, stringsAsFactors = FALSE)
# Concatenate all data together into one data.frame
data <- do.call(rbind, data)
return(data)
}
在表格中显示数据
output$responses <- DT::renderDataTable({
Data()
})
我想知道我们是否可以在保存表单输入的同时制作单个 CSV 文件并使其可编辑以更新值。我最大的困难是保存功能,当我们提交复杂的表单以获取特定行进行编辑时,它会创建一个单独的 CSV 文件。
显示数据的 UI
DT::DTOutput("responses"),style = "height:auto; overflow-y: scroll;overflow-x: scroll;"),
任何帮助将不胜感激