仅将选择性 Excel 工作簿读入 R 并将它们保存为数据框

问题描述

我有一个包含 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))