3

我有一个.xlsx文件有两张表,我想使用read_excelfrom readxlpackage 生成两张 excel 表的列表。我用过这段代码

my_work <- lapply(excel_sheets("data.xlsx"), 
                      read_excel, 
                      path = "data.xlsx")

read_excel()函数在文件上被多次调用,"data.xlsx"并且每个工作表一个接一个地加载。结果是一个数据框列表,每个数据框代表 中的一张表data.xlsxlapply我的问题是,既然文件已经在工作目录中,为什么还要在函数中编写路径参数?

4

2 回答 2

0

不确定这是最简单的方法,但您可以创建一个简短的函数来修改read_excel()函数以同时接受工作表名称参数和路径,然后lapply覆盖该函数。

library(readxl)
path <- "data.xlsx"
sheet_names <- excel_sheets(path)

# create function
read_excel_sheet <- function(sheet_name, path) {
  x <- read_excel(path = path, sheet = sheet_name)
}

my_work <- lapply(sheet_names, read_excel_sheet, path = path)

于 2020-01-07T23:06:06.560 回答
0

文档:

read_excel(path, sheet = 1, col_names = TRUE, col_types = NULL, na = "", skip = 0)

参数路径是必需的参数。所以需要填写,否则会弹出错误。

于 2017-01-21T16:14:51.073 回答