首页 > 解决方案 > 仅将选择性 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))

标签: rtidyversepurrrreadxl

解决方案


您可以将工作表名称传递到read_excel.

my_path <-  "my_file.xlsx"
patterns <- c( "hi" ,   "hh")

result <- map_df(patterns, ~read_excel(path = my_path, sheet = .x))

推荐阅读