首页 > 编程语言 > 详细

R语言批量导入excel,合并成一张总表(列不相同)

时间:2021-08-15 11:54:16      阅读:44      评论:0      收藏:0      [点我收藏+]

dir_dta <- "d:/tmp/"
setwd("d:/tmp/") #设置默认目录,导入时可以忽略路径
file1<-list.files(path=dir_dta,full.names=F) #列出文件列表(文件名)
#file2<-list.files(path=dir_dta,full.names=T)
tmpt<-read_excel(file1[1]) #导入列表中第一个文件
tmpt<-as.data.frame(sapply(tmpt,as.character)) #将表中类型转换为字符型,统一类型
code<-strsplit(file1[1],".",fixed = TRUE)[[1]][1] #提取文件名
tmpt<-cbind(list(rep(code,nrow(tmpt))),tmpt) #将原来的表增加一列,用文件名填充
names(tmpt)[1]<-"code" #修改增加的列名为code
file1[1]
for (i in 2:length(file1)){ #从列表中第二个文件开始循环
na1<-strsplit(file1[i],".",fixed = TRUE) #取文件名
na2<-na1[[1]][1]
tab2<-read_excel(file1[i]) #导入表
tab2<-as.data.frame(sapply(tab2,as.character)) #格式化
tab2<-cbind(list(rep(na2,nrow(tab2))),tab2) #导入的表也增加列
names(tab2)[1]<-"code" #重命名列
tmpt<-full_join(tmpt,tab2) #用新表和第一个表做全连接,值赋给第一个表

}
view(tmpt)

R语言批量导入excel,合并成一张总表(列不相同)

原文:https://www.cnblogs.com/eun007/p/15142894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!