问题描述
我有一个包含 3 个工作表(工作表名称 = vi、hi 和 hh)的 Excel 工作簿,我只想导入工作表 hi 和 hh 并将它们存储为数据框。
此代码段以列表形式加载 3 张纸
library(readxl)
library(tidyverse)
my_path <- "my_file.xlsx"
my_path %>%
excel_sheets() %>%
set_names() %>%
map(read_excel,path = my_path)
但我只想导入表 2 和表 3 以及未列出的数据框,所以我尝试了此操作,但它返回空的 tibble。这里缺少什么?
patterns <- c( "hi","hh")
my_path %>%
excel_sheets() %>%
set_names() %>%
map_dfr(patterns,~read_excel(path = my_path))
解决方法
您可以将工作表名称传递到 read_excel
。
my_path <- "my_file.xlsx"
patterns <- c( "hi","hh")
result <- map_df(patterns,~read_excel(path = my_path,sheet = .x))