通过循环读取特殊的CSV数据

时间:2015-07-20 19:59:02

标签: r csv

我有一点问题,我相信你们可以帮助我!我在direary文件夹中有一个文件夹,包含超过2000个.csv文件。它被称为“所有数据”。我想在R中读取它们并将它们保存在向量中。我知道之前已经问过这个......所以这就是我所拥有的:

setwd("C:/Users/Flo Chi/Documents/all Data")
ldf <- list()
csvliste <- dir(pattern="*.csv")
for(i in 1:length(csvliste)){ldf[[i]] <- read.csv(csvliste[i])}

csv data

我的问题是CSV数据本身!如图所示,例如“3327”双方都有逗号。如果将它转移到excel文件中,我想要的数字(3327等)则在B列中。我只希望那些数字作为ldf [[i]]中的向量! 你知道这是怎么回事吗?

非常感谢您的回答!

1 个答案:

答案 0 :(得分:0)

如果您假设唯一可能的数据形式是a)只有一列数值数据,或者b)如果有两列,则第一列全部丢失,您可以采取几种方法。

以下示例在第一列找到第一列中仅缺少值的数据框时使用第二列。但是,只要有两列(无论第一列中的内容是什么),只需要调整第二列就不难了。

setwd("C:/Users/Flo Chi/Documents/all Data")
ldf <- lapply(dir(pattern = "*.csv"),
        function(i){
            df <- read.csv(i)
            if (all(is.na(df[, 1]))) df <- df[, 2, drop=FALSE]
            df
        })