R 加载多个excel文件(使用不同的选项卡)并在文件后面命名对象(&;选项卡名称

R 加载多个excel文件(使用不同的选项卡)并在文件后面命名对象(&;选项卡名称,r,excel,function,file,object,R,Excel,Function,File,Object,我目前有20个Excel文件来自同一个工作目录。每个excel文件有5个不同的 标签。我想导入文件(在一个函数中)并根据文件命名每个对象 名称和选项卡名称 这是我到目前为止所拥有的。这将返回所有20个excel文件,并将它们全部转换为对象。然而, 它只对第一个选项卡执行此操作,这意味着我只有20个对象。这样的话,我想要100个 例如: Excel文件名:Apple 表1:表1 表2:表2 表3:表3 表4:表4 表5:5 因此,在编写脚本时,我希望它为所有excel输出Apple_Sheet1、

我目前有20个Excel文件来自同一个工作目录。每个excel文件有5个不同的 标签。我想导入文件(在一个函数中)并根据文件命名每个对象 名称和选项卡名称

这是我到目前为止所拥有的。这将返回所有20个excel文件,并将它们全部转换为对象。然而, 它只对第一个选项卡执行此操作,这意味着我只有20个对象。这样的话,我想要100个

例如: Excel文件名:Apple 表1:表1 表2:表2 表3:表3 表4:表4 表5:5

因此,在编写脚本时,我希望它为所有excel输出Apple_Sheet1、Apple_Sheet2等 同一工作目录中的文件。非常感谢

    dir_path <- "C:/"
    re_file <- ".xlsx" 

    file.list <- list.files(pattern = "*.xlsx")
    for(i in file.list) {
     assign(sub(".xlsx", "", i), read_excel(i))
    }
dir\u path
dir\u path我希望这能有所帮助

# libraries required -------
require(readxl)
require(writexl)

# Reading and writing files -------------------------
file.list <- list.files(pattern = "*.xlsx")

for (i in file.list) {
  sheets <- excel_sheets(i)
  for (n in sheets) {
    a <- read_excel(path = i, sheet = n)

    # write to the current working directory
    write_xlsx(a, path = sprintf("./%s_%s.xlsx", sub(".xlsx", "", i), n))  #  give a path instead of ./ if you need it in a particular folder. 
                                                                           #  Example: "output/%s_%s.xlsx" make sure the folder exists.

    # or assign it in the global environment
    assign(sprintf("%s_%s", sub(".xlsx", "", i), n), a)
  }

}

#需要库-------
需要(readxl)
需要(writexl)
#读写文件-------------------------
file.list
# libraries required -------
require(readxl)
require(writexl)

# Reading and writing files -------------------------
file.list <- list.files(pattern = "*.xlsx")

for (i in file.list) {
  sheets <- excel_sheets(i)
  for (n in sheets) {
    a <- read_excel(path = i, sheet = n)

    # write to the current working directory
    write_xlsx(a, path = sprintf("./%s_%s.xlsx", sub(".xlsx", "", i), n))  #  give a path instead of ./ if you need it in a particular folder. 
                                                                           #  Example: "output/%s_%s.xlsx" make sure the folder exists.

    # or assign it in the global environment
    assign(sprintf("%s_%s", sub(".xlsx", "", i), n), a)
  }

}