R语言-基础操作(批量数据读取和输出)

使用R语言时一个常遇到的问题,就是文件的批量读取和对结果的批量输出。

批量读取

批量读取数据,有两种形式,读取一个目录下的所有文件,从数据库中读取多个表。

##读取同一目录下的所有文件
path <- "F:/Rfile/OD-B/Data" ##文件目录
fileNames <- dir(path)  ##获取该路径下的文件名
filePath <- sapply(fileNames, function(x){ 
                 paste(path,x,sep='/')})   ##生成读取文件路径
data <- lapply(filePath, function(x){
             read.csv(x, header=T)})  ##读取数据,结果为list

##从数据库中读取数据类似上面,获取要数据库里的文件名,写个正则筛选文件名后for循环读取。

批量输出

对结果批量输出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[[i]], file=out_filePath[i], row.name=F) 
}

你可能感兴趣的:(R语言-零碎知识点)