[英]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.