2016-06-07 19 views
0

我在一個公共位置有幾個csv文件。每個csv文件具有相同的列名但數據不同。這些csv文件的名稱是不同的。我可以在R中編寫代碼讀取所有csv文件中的數據,然後將其放入單個數據框中? csv文件的名稱保持不同,所以我希望有一個代碼,以便我不必顯式指定csv文件的名稱。謝謝。從位於某個位置的所有csv文件中挑選數據

回答

2

看看list.files列出了一個位置上的所有文件,read.csv用於將一個文件載入到R中,並且rbind將它們放入單個數據幀中。

的代碼看起來是這樣的(未經測試)

setwd(location) 
fnames <- list.files() 
csv <- lapply(fnames, read.csv) 
result <- do.call(rbind, csv) 
2
filelist <- list.files(pattern = "\\.csv") # reads only .csv files in a folder 
allcsv.files <- list() 
count <- 1 
for (file in filelist) { 
    dat <- read.csv(file) 
    allcsv.files[[count]] <- dat 
    count <- count + 1 
} 
allfiles <- do.call(rbind.data.frame, allcsv.files) 
1
setwd("common location") 
    f <- list.files() 
    d <- data.frame() 
    for(i in 1:length(f)){ 
     file <- read.csv(f[i],stringsasFactors=F) 
     d <- rbind(d,file) 
    } 
    colnames(d) <- c("col1","col2") 
    write.csv(d,"combined.csv",row.names=F) 
相關問題