В блестящем приложении, если вы щелкнете по диалоговому окну открытия файла, оно запускает следующую реактивную функцию:
data <- reactive({
file <- input$file
req(file)
if (is.null(file)) {
return(NULL)
}
fpath <- file$datapath
if (endsWith(".zip", fpath)) {
fpath <- unzip(zipfile = fpath, files = NULL, overwrite = TRUE)
}
data <- read.csv(fpath, header = TRUE)
data
})
Для файлов CSV оно запускается, как и ожидалось.Для ZIP-файлов fpath не становится путем к разархивированному CSV-файлу - он остается временным путем к ZIP-файлу и вызывает ошибку функции read.csv.Этот код работает, как и ожидалось, за пределами реактивного.Каждая попытка вставить код отладки в этот реактив или пройти через него в отладчике игнорируется.Он не будет печатать в stderr и т. Д.
Как распаковать ZIP-файл и прочитать его в CSV-файле?Эта статья не полностью отвечает на вопрос.Я думаю, что есть что-то в этой статье , но я не могу понять это вне моего собственного контекста.