2015-11-17 67 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