2017-07-03 37 views
2

我寫了一個閃亮的應用程序(服務器& UI),它在我的電腦上運行良好。今天我試圖在shinyapps.io上託管它並且遇到了一些麻煩。我無法從本地機器上獲取數據,它需要在某處在線安置。但是source data僅在線提供。我發現了一些關於如何使用R將zip下載到本地計算機的資源,但它們似乎都需要將該文件放在本地臨時目錄中,而我認爲我無法通過託管的閃存應用程序。所以我的問題是 如何解壓,然後直接在R/Shiny中訪問/加載/使用CSV文件。讀CSV,而不依賴於本地目錄

相關的代碼段如下所示。這是我需要替換的部分。讓我知道是否有助於發佈更多的代碼 - 我知道這是預期的,但在這種情況下,我不確定這會有所幫助。

#load data 
library(shiny) 
base <- read.csv("/Users/OldJess/Dropbox/R Stuff(Home)/ShinyNames/data/NationalNames.csv", 
       stringsAsFactors = FALSE, 
       na.strings = c("NA","","#MULTIVALUE")) 

我閃亮的應用程序是在這裏:https://jesstme.shinyapps.io/shinynames/

回答

0

我沒有意識到,有光澤,讓我上傳從我的電腦原始源數據(爲CSV)在我的應用程序使用,沿着機智h用戶文件。有文件大小限制,但解決方案對我來說工作得很好。

1

難道是讓用戶使用有光澤瀏覽器按鈕,上傳本地計算機數據可行,然後將其解壓縮函數read.table用?對於功能函數read.table,看到這樣的回答:https://stackoverflow.com/a/36047026/7860688(這裏複製用於完整起見,假設你只有有拉鍊內一個CSV文件):

data <- read.table("Sales.zip", nrows=10, header=T, quote="\"", sep=",") 

文件可以如下使用光澤fileInput功能上傳:

 fileInput("file1", "Choose CSV File", 
    accept = c(
     "text/csv", 
     "text/comma-separated-values,text/plain", 
     ".csv") 
    ) 

在這裏看到的文檔:https://shiny.rstudio.com/reference/shiny/latest/fileInput.html

+0

這絕對是可行的,但不理想。我希望人們可以通過某種方式與應用進行交互,而無需下載任何內容。 – jesstme