簡體   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