0

我有 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))

那没起效

你能告诉我我做错了什么,我应该怎么做?

4

2 回答 2

3

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

  1. 使用 sheet 而不是 sheetindex
  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))
于 2019-03-14T06:44:31.877 回答
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)
}

如果有效,请回复。

于 2017-06-07T20:48:09.607 回答