使用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)
}版权声明:本文为qq_27755195原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。