如何使用if语句在R中上传txt或csv文件

时间:2018-08-07 16:29:10

标签: r if-statement shiny

我正在上传数据,但是我想使用if语句上传文本文件或excel文件。例如:

if(file == .txt){
 df <- read.table(inFile$datapath, header = input$header)
}
else{
 df <- read.csv(inFile$datapath, header = input$header, sep = 
input$sep, quote = input$quote)
}

任何人都可以让我知道if条件需要使用什么。 谢谢。

1 个答案:

答案 0 :(得分:0)

上传的文件带有闪亮的fileInput后,您可以读取文件扩展名(例如some_file.txtsome_file.csv),以确定上传的文件是文本文件还是csv。

示例:

if(grepl(inFile$name, ".txt", ignore.case=TRUE)) {
    df <- read.table(inFile$datapath, header = input$header)
} else if (grepl(inFile$name, ".csv", ignore.case=TRUE)) {
    df <- read.csv(inFile$datapath, header = input$header, sep = input$sep, quote = input$quote)
}

在Rconsole中键入?grepl,以查看grep的功能。