2016-01-20 92 views
2

我想讀取併合並目錄中的所有csv文件。我發現這個優秀的答案:Importing multiple .csv files into R但它似乎並不適合我。R讀取目錄中的所有文件

我能列出文件(它們在子文件夾我的主目錄下名爲「測試」):

library(data.table) 
files <- list.files(path = "test",pattern = ".csv") 
print(files) 

這正確打印目錄的內容。

當我嘗試使用加載它們

temp <- lapply(files, fread, sep=",") 
data <- rbindlist(temp) 

我得到File 'xyz.csv' does not exist. Include one or more spaces to consider the input a system command.

我必須以某種方式重新指定路徑?我爭辯說,這些信息已經包含在文件對象中。謝謝你的幫助!

+0

我猜錯誤在'temp < - lapply(files,...)'步驟?你可以試試'library(readr); lapply(files,read_csv)' – akrun

+0

@akrun是的,錯誤是在特定的行 – Smajl

+0

我不知道這是否是一些分隔符問題,你可以嘗試'庫(readr); lapply(files,read_csv)'甚至是'base R',即'lapply(files,read.csv,header = TRUE,stringsAsFactors = FALSE)' – akrun

回答

7

我懷疑問題在於文件的路徑。很可能是因爲你的工作目錄是從目錄"test"上一層。請嘗試:

list.files(path = "test", pattern = ".csv", full.names = TRUE) 

full.names參數將包括其輸出中文件的路徑。

相關問題