2015-11-17 23 views
0

我想打开目录“dld”中以“RPT”开头的Excel文件。我试过下面,但我不断收到一个错误:用R只打开部分已知的文件名打开Excel文件

Error in file(file, "rt") : invalid 'description' argument 

我猜它是与代码从read.csv快到了,我正在努力去适应它来阅读。表。

dld <- "C:/Users/Me/Downloads/" 
filename <- paste(dld, "RPT_", sep = "") 
file <- read.table(dir(dirname(filename), full.names=T, pattern=paste("^", basename(filename), sep=""))) 

想法?任何方向/帮助将不胜感激。

+0

当你说的Excel文件,你是.xls还是.xlsx?或者你只是指刚刚从Excel中保存的.csv文件? – joran

+0

@joran .xlsx,谢谢! – stevenjoe

+0

在这种情况下,您将需要使用像** readxl **,** XLConnect **或** xlsx **这样的软件包,它们专门用于读取该文件格式。 – joran

回答

1

首先,正如@joran所提到的,有几种工具直接读取.xlsxxls文件(所有这些文件都被覆盖了here)。

至于你找到部分匹配文件名的问题,我会用grepl如下:

#get all file names in the directory 
flz <- list.files("C:/Users/Me/Downloads/") 
#find those that start with RPT (or otherwise match your pattern) 
my_excel <- flz[grepl("^RPT", flz)] 
#(make sure here that you've identified a unique file) 

最后,读文件:

library(readxl) 
read_excel(my_excel) #(specifying whichever options as needed) 
+0

如果有多个以RPT_开头的文件名,您可能需要考虑如何处理。 – ddunn801

+1

@ user2747404这就是为什么我将'my_excel'作为自己的行而不是与'read_excel'结合的原因。用户应该在继续之前检查'my_excel'并确定需要对正则表达式进行哪些调整(如果有的话)。 – MichaelChirico