我有一个包含332个csv文件的文件夹。这些文件名分别为001.csv,002.csv,003.csv,............,330.csv,331.csv,332.csv。所有文件具有相同数量的变量和相同的格式。
我需要将所有文件读入一个数据框中。我一直在逐个读取并使用rbind,但这太繁琐了。
需要帮助。
尝试使用lapply和do.call
file_names <- dir() #where you have your files
your_data_frame <- do.call(rbind,lapply(file_names,read.csv))
使用data.table
的解决方案,答案摘自我之前在 Stack Overflow 上使用过的帖子。
library(data.table)
files <- list.files(path = "/etc/dump",pattern = ".csv")
temp <- lapply(files, fread, sep=",")
data <- rbindlist( temp )
.csv
前面加上2个反斜杠。 - Martinpath <- "path_to_files"
files <- c(paste("00",2:9,".csv",sep=""),
paste("0",10:99,".csv",sep=""),
paste(100:332,".csv",sep="")
)
#Read first file to create variables in a data frame
data <- read.csv(paste(path,"001.csv",sep="/"))
#Read remaining files and rbind them to dataset
for (f in files) {
data <- rbind(data,read.csv(paste(path, files, sep="/")))
}