记录我的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)