如何在r中读取多个.xls文件?

时间:2017-06-07 20:27:33

标签: r lapply readxl

我在列表中有18个文件(.xls),我想一次性阅读它们

以下是我的代码:

filenames=list.files("C:/Users/ozgur.alptekin/Downloads/elif")

df.list=lapply(filenames, function(x) read_excel(file = x,sheetIndex = 1,as.data.frame = TRUE,header = TRUE))

它不起作用

你能告诉我我做错了什么以及我该怎么办?

2 个答案:

答案 0 :(得分:2)

你能简单地尝试循环吗?

filenames=list.files("C:/Users/ozgur.alptekin/Downloads/elif")

for (i in 1:length(filenames) {
assign(paste0("file_", i), 
read_excel(file = filenames[i],sheetIndex = 1, as.data.frame = TRUE, header = TRUE), envir = .GlobalEnv)
}

回复是否有效。

答案 1 :(得分:0)

您可以使用相同的代码进行一些更改。 在read_excel下:

  1. 使用工作表代替工作表索引
  2. 删除“ file =“,仅提及x
  3. 不要认为as.data.frame在read_excel中有效

然后

filenames=list.files("C:/Users/ozgur.alptekin/Downloads/elif")    
df.list=lapply(filenames, function(x) read_excel(x,sheet = 1,header = TRUE))

然后将其转换为data.frame格式,请使用以下

将所有不同数据追加到一个主数据中

master_file = as.data.frame(do.call(rbind,df.list))