批量读取数据,有两种形式,读取一个目录下的所有文件,从数据库中读取多个表。
##读取同一目录下的所有文件install.packages("XLConnect")library("XLConnect")path <- "F:/Rfile/OD-B/Data" ##文件目录fileNames <- dir(path) ##获取该路径下的文件名filePath <- sapply(fileNames, function(x){ paste(path,x,sep='/')}) ##生成读取文件路径data <- lapply(filePath, function(x){ readWorksheetFromFile(x, header=T,sheet=1)}) ##读取数据,结果为list##从数据库中读取数据类似上面,获取要数据库里的文件名,写个正则筛选文件名后for循环读取。- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
对结果批量输出csv文件,其中data为list格式
outPath <- "F:/Rfile/OD-B/Consequence" ##输出路径out_fileName <- sapply(names(data),function(x){ paste(x, ".csv", sep='')}) ##csv格式out_filePath <- sapply(out_fileName, function(x){ paste(outPath ,x,sep='/')}) ##输出路径名##输出文件for(i in 1:length(data)){ write.csv(data[], file=out_filePath, row.name=F) }