繁体   English   中英

在保留名称的同时在R中导入多个csv文件

[英]Import multiple csv files in R while retaining their names

如何在一个文件夹中同时导入多个csv文件,同时保留其名称。 例如,如果将文件a.csv导入为“ a”,则将b.csv导入为“ b”,依此类推。

编辑:只是要具体...我不想单独键入文件的名称,因为有一堆文件。 我想要一个简单地从目录中读取所有文件并保留原始文件名的系统。

Yadda yadda使用列表yadda

filenames <- c("a", "b", "c")

dfs <- setNames(lapply(filenames, function(f)
    read.csv(paste0(f, "csv")), filenames))

使用assign 一个简单的迭代如下:

basenames <- c("a", "b" , "c")

lapply(basenames, function(x) 
  assign(x, read.csv(paste0(x, ".csv")), envir=.GlobalEnv)
  )

我就是这样做的,就像洪Ooi一样,还有一个清单...

# assuming your working directory is the folder with the CSVs
myfiles <- dir(pattern = "\\.(csv|CSV)$", full.names = TRUE) # get filenames and paths
myfiles_data <- lapply(myfiles, data.table::fread) # read data from files, quickly
head(myfiles_data[[1]]) # validate file reading
names(myfiles_data) <- myfiles # assign names to list items

使用plyr函数的另一种方法:

library(plyr)
mydata = ldply(list.files(pattern = “csv”), function(filename) {
dum = read.table(filename)
    #If you want to add the filename as well on the column
    dum$filename = filename
return(dum)
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM