美文网首页
R语言批量读取统一格式excel

R语言批量读取统一格式excel

作者: lucier19981 | 来源:发表于2021-08-05 14:53 被阅读0次

一、读取文件思路

读取文件夹信息
进行表格分类
同类表格列表
循环导入表格
读取时间标记
插入时间标记
字段筛选新表
组合成大表

二、具体读取命令

ETL-------------------------

path_wage_data <- c("D:/R/数据库/薪酬/")

导入薪酬表

{
labor_list_tb <- data.table(labor_class = c("合同员工","劳务员工","外包员工"),
labor_table = c("formal_work_tb","contract_work_tb","sub_contract_tb"))
wage_list_tb <- c("员工编号","员工姓名","固定类","绩效类","活动类","划小类")

导入源表构建格式

labor_wage_list <- as.data.table(read_excel(paste0(path_wage_data,"合同员工","2101",".xlsx")))[,..wage_list_tb][0]
labor_wage_list[,":="(账期="",用工类型="")]

循环导入原始报表

for (i in (1:nrow(labor_list_tb))){
labor_class_name <- labor_list_tb[,labor_class][i]
table_list <- dir(path_wage_data)[grep(labor_class_name, dir(path_wage_data))] # 形成同类列表
for (j in (1:length(table_list))){
temp_table <- as.data.table(read_excel(paste0(path_wage_data,table_list[j])))[,..wage_list_tb]
temp_table[,账期:=substr(table_list[j],5,8)]
temp_table[,用工类型:=labor_class_name]
labor_wage_list <- rbind(labor_wage_list,temp_table)
} }
labor_wage_list <- labor_wage_list[!is.na(员工编号),] # 删除无效数据
labor_wage_list[,收入合计:=(固定类+绩效类+活动类+划小类)]

}

相关文章

网友评论

      本文标题:R语言批量读取统一格式excel

      本文链接:https://www.haomeiwen.com/subject/ehvmvltx.html