前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R-批量文件读取

R-批量文件读取

作者头像
火星娃统计
发布2020-09-15 15:00:34
6870
发布2020-09-15 15:00:34
举报
文章被收录于专栏:火星娃统计

批量文件读取

sunqi
2020/6/12

概述

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

代码

创造示例文件目录

代码语言:javascript
复制
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)
  }
}

读取文件

代码语言:javascript
复制
# 获得目标文件夹
path<-"D:/test"
filedir <- dir(path = path,full.names = T)
filedir# 显示当先目录下有两个文件夹
代码语言:javascript
复制
## [1] "D:/test/test1" "D:/test/test2"
代码语言:javascript
复制
# 建立数据框存储数据
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)
代码语言:javascript
复制
##   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
代码语言:javascript
复制
# 从行列数可以明显看出多个文件进行了合并
dim(result)
代码语言:javascript
复制
## [1] 900   6

结束语

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 批量文件读取
    • 概述
      • 代码
        • 创造示例文件目录
        • 读取文件
      • 结束语
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档