R-批量文件读取

时间:2022-07-25
本文章向大家介绍R-批量文件读取,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

批量文件读取

sunqi

2020/6/12

概述

文件的批量读取,一般在拿到数据时,如果是大批量的数据,那么就需要多次的读取 10个文件以为的内容通过10行的内容可以读取,但是如果是上百个文件,那么读取的 时候就比较复杂,解决思路是通过循环进行读取

代码

创造示例文件目录

setwd("D:/test")

# 先创造几个重复文件
# 分别在test1和test2 生成3个iris数据集
for(i in c("test1","test2")){
  for(j in 1:3){
    newdu<-paste(i,"/iris",j,".csv",sep="")
    write.csv(iris,file = newdu)
  }
}

读取文件

# 获得目标文件夹
path<-"D:/test"
filedir <- dir(path = path,full.names = T)
filedir# 显示当先目录下有两个文件夹
## [1] "D:/test/test1" "D:/test/test2"
# 建立数据框存储数据
result <- data.frame()#最终数据
# 从目前的目录再次进去子目录数据
# 因为有2个文件夹,所以需要进一步读取
for(i in filedir){
    dir1 <- dir(path = i,full.names = T)
  for(j in dir1){
    tmp<-read.csv(file=j)
    result<-rbind(result,tmp)
  }
}
head(result)
##   X Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 1          5.1         3.5          1.4         0.2  setosa
## 2 2          4.9         3.0          1.4         0.2  setosa
## 3 3          4.7         3.2          1.3         0.2  setosa
## 4 4          4.6         3.1          1.5         0.2  setosa
## 5 5          5.0         3.6          1.4         0.2  setosa
## 6 6          5.4         3.9          1.7         0.4  setosa
# 从行列数可以明显看出多个文件进行了合并
dim(result)
## [1] 900   6

结束语

不知道还有没有其他方式处理这个问题,循环是个好东西,后面有机会想想循环实现多个模型构建 love&peace