2017-07-03 155 views
0

我正在服務器上閃亮。我想從URL讀取表格,然後以CSV文件的形式寫入目錄並從目錄中讀取。我不能寫我的目錄......這裏是簡化代碼:R閃亮,寫數據表

UI:

library(shiny) 
library(XML) 
library(shinydashboard) 





dashboardPage(
    dashboardHeader(title = "BLA BLA BLA"), 
    dashboardSidebar(), 
    dashboardBody(
DT::dataTableOutput("datatable") 
) 

     ) 

服務器:

library(shiny) 
library(shinydashboard) 
library(XML) 

function(input, output){ 
geodatasetInput <- observe({ 
url <- "http://www.fipiran.com/Fund/MFComparing/1" 
url2 <- "http://www.fipiran.com/Market/LupBourse" 
classes <- c("character", "FormattedNumber", "Percent", "FormattedNumber","Percent", "integer","FormattedNumber", "FormattedNumber", "FormattedNumber", "numeric","FormattedNumber", "numeric" ,"numeric", "numeric", "numeric", "numeric") 
ss <- readHTMLTable(url2, which = 1, colClasses = classes, stringsAsFactors = FALSE) 
write.csv(ss, "ss.csv") 
}) 



output$datatable <- DT::renderDataTable({ 
url <- "http://www.fipiran.com/Fund/MFComparing/1" 
url2 <- "http://www.fipiran.com/Market/LupBourse" 

classes <- c("character", "FormattedNumber", "Percent", "FormattedNumber","Percent", "integer","FormattedNumber", "FormattedNumber", "FormattedNumber", "numeric","FormattedNumber", "numeric" ,"numeric", "numeric", "numeric", "numeric") 
ss <- readHTMLTable(url2, which = 1, colClasses = classes, stringsAsFactors = FALSE) 

DT::datatable(ss, options = list(lengthMenu = list(c(5, 15, -1), c('5', '15', 'All')), 
     pageLength = 5, 
     list(scrollX = TRUE), 
           autoWidth = TRUE, 
    columnDefs = list(list(width = '100px', targets = "_all")) 
           )) 



}) 


} 
+0

你什麼意思,你可以不寫?你是否遇到過錯誤?應用程序崩潰了嗎? –

+0

我不確定我的代碼是否錯誤或是什麼使它崩潰! 但事實是,它不運行! 有沒有代碼的問題? –

+0

我的猜測是'shiny'用戶沒有在應用程序所在的文件夾上寫入權限。當你運行它沒有閃亮的服務器時,一切工作正常嗎? –

回答

0

我調整了代碼一點點,從而使網站只解析一次。但是,其他代碼也適用於我。也許,你有一個文件ss.csv,它已經打開了?

西爾克

data <- reactiveValues() 

     observe({ 
     url <- "http://www.fipiran.com/Fund/MFComparing/1" 
     url2 <- "http://www.fipiran.com/Market/LupBourse" 
     classes <- c("character", "FormattedNumber", "Percent", "FormattedNumber","Percent", "integer","FormattedNumber", "FormattedNumber", "FormattedNumber", "numeric","FormattedNumber", "numeric" ,"numeric", "numeric", "numeric", "numeric") 
     data$ss <- readHTMLTable(url2, which = 1, colClasses = classes, stringsAsFactors = FALSE) 
write.csv(data$ss,"ss.csv") 

     }) 



     output$datatable <- DT::renderDataTable({ 

     DT::datatable(data$ss, options = list(lengthMenu = list(c(5, 15, -1), c('5', '15', 'All')), 
             pageLength = 5, 
             list(scrollX = TRUE), 
             autoWidth = TRUE, 
             columnDefs = list(list(width = '100px', targets = "_all")) 
     )) 



     }) 
+0

我在遠程服務器上工作,我不知道代碼有什麼問題!但是,它在本地系統上正常運行並將CSV文件寫入目錄! –

+0

問題是有權限的 –