如何在 R 中用几张工作表合并多个 excel 文件?



我想在 R 中用几张纸合并 7 个 excel 文件。所有板材具有相同的结构。我尝试使用 for,但结果是最后一个工作簿或错误。代码为:

files <- list.files(pattern = ".xlsx")
sheets <- excel_sheets(files)
library(xlsx)
setwd("C:/Users/User/Documents")
for(i in 1:7){
file <- files
vari <- sheets %>%
set_names() %>%
map_df(~ read_excel(path,skip = 5 ,sheet = .x), .id = "sheet")
}

谢谢。。。

我将提供这样的解决方案。 您可以撰写包含文件和工作表列表的data.frame。然后使用map2_dfr.

library(tidyverse)
setwd("C:/tmp") 
path <- list.files(".", pattern = ".xlsx", full.names = T)
df_files <- data.frame(files = path) %>% 
rowwise() %>% 
mutate(sheets = list(excel_sheets(files))) %>% 
unnest(sheets)
df <- map2_dfr(.x = df_files$files, .y = df_files$sheets, readxl::read_xlsx)

最新更新