我有多个excel文件,每个文件中有不同的页数。每个文件的第一页称为摘要。我想摆脱每个文件的摘要表,并在数据框中合并其他表。
我有文件名1.xlsx,2.xlsx .... 343.xlsx。每个Excel文件包含多个工作表。例如,1.xlsx包含工作表名称摘要,德里,诺伊达 2.xlsx包含工作表名称摘要,孟买,浦那,果阿,海德拉巴等。
我需要删除所有343个文件的摘要表,并将每个文件的所有其他表合并到一个数据框中
行数和列数不相同
实施例: 表x包含以下数据:
表y包含以下数据:
期望的输出:
答案 0 :(得分:1)
考虑每个Excel文件中除Summary
之外的所有选项卡都具有相同的列名称 -
library(readxl)
f_in <- list.files("directory_path_of_your_excel_files/")
read_all_tabs <- function(f_name) {
tabs <- excel_sheets(f_name)
tabs <- tabs[-1]
tab_data <- lapply(tabs, function(x) read_excel(f_name, sheet = x))
names(tab_data) <- tabs
tab_data
}
df <- Reduce(rbind, lapply(f_in, function(x) Reduce(rbind, read_all_tabs(x))))
修改:由于所有工作表都有不同数量的行/列,并且您要求对这些数据进行列绑定,我认为cbind.na
会很方便。
library(qpcR)
df <- Reduce(qpcR:::cbind.na, lapply(f_in, function(x) Reduce(qpcR:::cbind.na, read_all_tabs(x))))