r使用basename()获取文件名

时间:2016-04-18 09:33:55

标签: r csv shiny

我正在构建一个Web应用程序,供用户每月上传文件并将数据存储在PostgreSQL中;我想从上传的文件名中指定并提取月份;像“Utilization_summary_201511.csv”这样的东西。

然而,我在获取文件名时遇到了麻烦,我尝试了以下2种方法但都徒劳无功。在server.R

1。使用read.csv

  filename<-renderText({
     inFile <- input$file1

      if (is.null(inFile))
        return(NULL)
     file<-read.csv(inFile$datapath, header=TRUE ,sep=",") 
     name<-basename(file)
     name
 })

2。合并file.choose()和read.csv

   filename<-renderText({

     inFile <- input$file1
     if (is.null(inFile))
       return(NULL)

     filename<-file.choose()
     data <- read.csv(filename, header=TRUE ,sep=",", skip=1)
     name<-basename(filename)
     name 
   })

和ui.R:

 textOutput("filename")

应该不是那么难,而且我一直试图提出解决方案几天,提前感谢任何想法和建议。

1 个答案:

答案 0 :(得分:2)

您可能想尝试使用inFile $ name,而不是inFile $ datapath。根据闪亮的fileInput documentation

名称 网络浏览器提供的文件名。

数据路径 包含已上传数据的临时文件的路径。

祝你好运!