2016-04-11 21 views
0

"0001"から "0999"という名前のサブディレクトリがあり、それぞれに "abc.csv"という名前のファイルがあります。 リスト内のファイルをすべて読み取るにはどうすればよいですか?ここでサブディレクトリからファイルを読み取る

は、これまでのところ、私のアプローチです:

abcs <- list() 
for(i in seq_len(999)) 
    eval(parse(text=paste0("abcs[[",i,"]] <- read.csv('~/mydir/0000",i,"/abc.csv')"))) 

はしかし、私は、先行ゼロの各量に対して個別にこれをしなければなりません。

もっと簡単なやり方が必要です。ありがとうございます。 私は 'list.dir()'関数もあることを知っています。

答えて

1

だけlist.files

list_of_files <- list.files("~/mydir/", pattern = ".csv", recursive = T) 
list_results <- lapply(list_of_files, read.csv) 

に再帰的な引数を使用するには、あなたが探しているものということですか?

+0

非常に感謝しています。 abc.csvの他にこれらのディレクトリに他のcsvファイルがあるので、私はpattern = "abc.csv"を指定しました。 – spore234

+1

より高速な読み込みが必要な場合は、 'data.table'パッケージから' fread'を使用することもできます。 – user3293236

0

これはどうですか? sprintf( "%04d"、n)は、必要な長さの数字の前に0を埋め込みます。

abcs <- lapply(1:999, function(n) read.csv(paste0(sprintf("%04d", n),"/abc.csv"))) 
関連する問題