一、读取文件思路
读取文件夹信息
进行表格分类
同类表格列表
循环导入表格
读取时间标记
插入时间标记
字段筛选新表
组合成大表
二、具体读取命令
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[,收入合计:=(固定类+绩效类+活动类+划小类)]
}