我的.xlsx
文件有两张,我想使用read_excel
包中的readxl
生成两张excel表的列表。我使用过这段代码
my_work <- lapply(excel_sheets("data.xlsx"),
read_excel,
path = "data.xlsx")
在read_excel()
文件上多次调用"data.xlsx"
函数,并且每个工作表一个接一个地加载。结果是一个数据框列表,每个数据框代表data.xlsx
中的一个工作表。
我的问题是,为什么我要在lapply
函数中编写path参数,因为该文件已经在工作目录中了?
答案 0 :(得分:0)
文档:
read_excel(path,sheet = 1,col_names = TRUE,col_types = NULL,na =&#34;&#34;, skip = 0)
参数路径是必需参数。所以你需要填写它。否则,会弹出一个错误。
答案 1 :(得分: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)