我想合并7个excel文件与R中的几个工作表。所有工作表都有相同的结构。我尝试使用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")
}
谢谢..。
发布于 2020-05-26 14:40:15
我将提供这样的解决方案。您可以使用其中的文件和工作表列表来编写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)
https://stackoverflow.com/questions/62012685
复制相似问题