首页 > 解决方案 > 使用 For 循环将多个 csv 导入 R

问题描述

嗨,我是 R 新手,很难理解我的脚本哪里出错了。我正在尝试仅导入位于脚本顶部附近输入的 2 个日期SdateFdate之间的 csv 文件。该脚本运行良好,没有任何错误,但仅拉入列表中的最后一个文件。我在 Windows 10 上,所有文件都在本地机器上。任何帮助将不胜感激。谢谢

Sdate <- as.Date("2018-10-01")
Fdate <- as.Date("2018-10-30")
Ndate = as.character.Date(seq.Date(from = as.Date(Sdate), to = as.Date(Fdate), 
                                   by = "days"), format ="%Y%m%d")

for (i in Ndate){
  MyData <- read.csv(
    file=paste('D:/Data/Merlin Data/Merlin BDD/T1/BDD_',i,'_T1.csv',sep = ""), 
    header=TRUE, sep=",")
}

标签: rcsvfor-loopimport

解决方案


问题是你每次循环都覆盖你的变量。所以让我们改变它。您需要将文件附加到数据框中。

一种解决方案是创建一个初始数据框

MyData <- read.csv(file='D:/Data/Merlin Data/Merlin BDD/T1/BDD_20181001_T1.csv', header=TRUE, sep=",")

然后用 concatenation 将你的数据附加到这个c()。由于您已经阅读了第一个文件,因此我们将其设置SdateSdate<-as.Date("2018-10-02") You should be able to read your Data then with:

for (i in :Ndate){ MyData <- read.csv(file=paste('D:/Data/Merlin Data/Merlin BDD/T1/BDD_',i,'_T1.csv',sep = ""), header=TRUE, sep=",") }


推荐阅读