0

我试图解决 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 个月等。

4

2 回答 2

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"
于 2013-08-18T22:39:07.110 回答
0

尝试使用 XLConnect 包。

library(XLConnect)
file1 <- readWorksheet(loadWorkbook("C:\General Data\Month1\R04.xlsx"),sheet=1)
于 2013-08-18T22:03:35.160 回答