转自:http://blog.csdn.net/qq_34941023/article/details/51550085
在流水化办公中,通常有格式统一的表格文件产生,但是到最后要将这一堆表格文件整合为大表却很揪心,累断手,如何用R语言进行一次性导入整合呢? 假设我们将D:/input文件夹作为需要导入的表格的存放点,文件夹内所有文件均为此次需要导入数据,那么可以用以下程序进行操作 setwd("D:/") #设定工作目录为D盘 #循环从第二个文件开始读入所有文件,并组合到merge.data变量中
PS.若为TXT文件 #==============批量读入TXT文件====================== a = list.files("input") dir = paste("./input/",a,sep="") n = length(dir) merge.data = read.table(file = dir[1],header=TRUE,dec = ".") for (i in 2:n){ new.data = read.table(file = dir[i], header=TRUE, dec = ".") merge.data = rbind(merge.data,new.data) } write.table(merge.data,file = "./input/merge.txt",row.names=F) #===========================================================
另外,如果懒得转换为csv,在所有excel都是只有一个sheet的时候,可以用下面的命令作为读取 首先在最开头需要安装和调用package: install.packages("XLConnect")
然后在正文中将 merge.data = read.csv(file = dir[1],header=T,sep=",")替换为 merge.data = readWorksheetFromFile(file = dir[i], sheet=1, header=TRUE)
将new.data = read.csv(file = dir[i], header=T, sep=",")替换为 new.data = readWorksheetFromFile(file = dir[i], sheet=1, header=TRUE)
写入新文件除需要复杂一点,基于下面的程序,大家可以尝试改写一下: # 读取或创建一个XLSX文件,此步相当于建立一个连接 |
|