R語言批量導入excel,合並成一張總表(列不相同)


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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM