R实战-批量导入Excel文件

记录我的R语言学习过程


      业务分析过程中,常常会出现需要重建历史数据的情况,而历史数据往往分布在同构但不同的文件中,因此批量导入就派上用场了,这里以我的第一个R语言批量导入Excel为案例进行介绍。

 一、R语言批量导入Excel文件    

 (一)、源数据表情况


(二)、实现方式

#载入相关R包

  library(rJava)

  library(xlsxjars)

  library(xlsx)

  library(readxl)

  library(data.table)

  library(dplyr)

# 数据逻辑先验

a1 <- c(0:9)

a2 <- c(5:12,1,2)

a  <- data.frame(a1,a2)

a$a  <- ((a$a1 + 4) %% 12) + 1

#  路径设置

path.1 <- c("d:\\R")

# for循环与if嵌套实现不同名称对应

for (i in 0:9) {

  if(i < 5) {A = "180"}

  if(i >= 5 & i < 8) { A = "18"}

  if(i >= 8) {A = "190"}

  d = paste0(A, ((i + 4) %% 12) + 1)

  path <- paste0(path.1,'\\', d, '-bfz.xlsx')

  assign(paste0("bfz-",d), read_excel(path,skip = 4))

  i=i+1

}

(三)、最终结果


可重复、批量化是程序化的最大特征!务必用好。

二、批量导入文件并列打标行合并

  bd_mob0 <- data.frame()

  bd_mob1 <- data.frame()

  for (i in 1:length(file_names)){

    excel_path <- paste0(path1,file_names[i]) 

    sheet_name <- excel_sheets(excel_path)[6] 

    bd_mob0 <- cbind(read_excel(excel_path,sheet = sheet_name, skip =3),

          账期 = substr(file_names[i],18,25)) # 加入账期

    bd_mob1 <- rbind(bd_mob1, bd_mob0)

你可能感兴趣的:(R实战-批量导入Excel文件)