R 如何从输入$获取路径。。或输出$。。并使用它列出.file文件,然后复制/剪切这些文件
我正在学习。我想制作一个简单的应用程序,允许用户输入动态路径。然后,应用程序应列出文件夹A中的csv文件,然后将它们从文件夹A复制到工作目录中的文件夹B。然后应用程序使用外部exe程序在文件夹B中执行一些操作。之后,文件夹将从B中剪切结果文件.txt并将其复制到A中 我的应用程序的结构如下,我还附上了一张图片。代码中的注释解释了该问题R 如何从输入$获取路径。。或输出$。。并使用它列出.file文件,然后复制/剪切这些文件,r,shiny,R,Shiny,我正在学习。我想制作一个简单的应用程序,允许用户输入动态路径。然后,应用程序应列出文件夹A中的csv文件,然后将它们从文件夹A复制到工作目录中的文件夹B。然后应用程序使用外部exe程序在文件夹B中执行一些操作。之后,文件夹将从B中剪切结果文件.txt并将其复制到A中 我的应用程序的结构如下,我还附上了一张图片。代码中的注释解释了该问题 我想列出文本框项目中显示的.filespath=路径,pattern=.csv以下代码可用于浏览特定csv文件的任何目录,读取该文件并显示其内容 library(
我想列出文本框项目中显示的.filespath=路径,pattern=.csv以下代码可用于浏览特定csv文件的任何目录,读取该文件并显示其内容
library(shiny)
# Define UI
ui <- pageWithSidebar(
# App title ----
headerPanel("Open a File and Show Contents"),
# Sidebar panel for inputs ----
sidebarPanel(
label="Data Source",fileInput("fileName", "File Name",accept=c(".csv"))),
# Main panel for displaying outputs ----
mainPanel(
tableOutput(outputId = "table")
)
)
# Define server logic
server <- function(input, output) {
inputData <- reactive ({
if (is.null(input$fileName)) return(NULL)
inFile <- input$fileName
conInFile <- file(inFile$datapath,open='read')
inData <- read.csv(conInFile,stringsAsFactors = FALSE)
close (conInFile)
return (inData)
})
output$table <- renderTable ({
inData <- inputData()
if (length(inData) > 0) inData
})
}
shinyApp(ui, server)
由于闪亮的应用程序设计为在web浏览器中运行,因此出于安全原因,您受到web浏览器允许的文件访问类型的限制。您是否假设此应用程序将仅在某人的计算机上本地运行?是的,该应用程序将在某人的计算机上本地运行
library(shiny)
# Define UI
ui <- pageWithSidebar(
# App title ----
headerPanel("Open a File and Show Contents"),
# Sidebar panel for inputs ----
sidebarPanel(
label="Data Source",fileInput("fileName", "File Name",accept=c(".csv"))),
# Main panel for displaying outputs ----
mainPanel(
tableOutput(outputId = "table")
)
)
# Define server logic
server <- function(input, output) {
inputData <- reactive ({
if (is.null(input$fileName)) return(NULL)
inFile <- input$fileName
conInFile <- file(inFile$datapath,open='read')
inData <- read.csv(conInFile,stringsAsFactors = FALSE)
close (conInFile)
return (inData)
})
output$table <- renderTable ({
inData <- inputData()
if (length(inData) > 0) inData
})
}
shinyApp(ui, server)