我正在尝试解决R中有关读取具有相同名称但在不同目录中分配的多个文件的一个小问题。
我有100个名为R04
且扩展名为.xlsx
的文件,但它们分配在100个不同的目录中,如下所示:
file 1: C:\General Data\Month1\R04.xlsx
file 2: C:\General Data\Month2\R04.xlsx
.
.
.
file 100: C:\General Data\Month2\R04.xlsx
我的问题是我无法阅读这些文件。也许可以用for
读取它们,并且由于100个文件中的相同名称,我不知道是否可以用与月份相关的数字命名每个文件,例如在第一个的情况下文件名称应为01
,因为第1个月等等。
答案 0 :(得分:1)
我会使用list.files
按模式列出我的文件。然后是一些正则表达式来命名我的文件。
例如:
library(XLConnect)
files.path <- list.files(pattern=".*R04.xlsx",full.names=TRUE)
setNames(lapply(files.path, function(x) read.xlsx(x,1)),
gsub('.*/(.*)/R04.*','\\1_R04',files.path))
使用一些数据来显示我在gsub
处的使用方式:
ll <- c("C:/General Data/Month1/R04.xlsx",
"C:/General Data/Month2/R04.xlsx",
"C:/General Data/Month3/R04.xlsx")
gsub('.*/(.*)/R04.*','\\1_R04',ll)
[1] "Month1_R04" "Month2_R04" "Month3_R04"
答案 1 :(得分:0)
尝试使用XLConnect包。
library(XLConnect)
file1 <- readWorksheet(loadWorkbook("C:\General Data\Month1\R04.xlsx"),sheet=1)