2017-09-01 6 views
0

次の問題があります。私は自分の作業ディレクトリに複数のcsvファイルをインポートしました。何か助けていただければ幸いです作業ディレクトリからファイルを開く

files 
[1] "sept2010.csv__001.csv" "sept2010.csv__002.csv" "sept2010.csv__003.csv" "sept2010.csv__004.csv""sept2010.csv__005.csv" "sept2010.csv__006.csv" 

私は200以上のcsvファイルを持っています。

Error in file(file, "rt") : cannot open the connection 

I:

myfiles = do.call(rbind, lapply(files, function(x) read.csv(x, stringsAsFactors = FALSE))) 

私は、エラーメッセージが表示されました:私は、ファイルを開くためにワンド場合、私は私がファイルを開こうとすると

data<-rbind(sept2010.csv__001.csv,sept2010.csv__002.csv) # It is time consuming to rbing 200 files. 

でそれを行うことができます以下を試してください:

data<-do.call("rbind", lapply(files, read.csv, header = TRUE)) 

I geトン私は手動でファイルを開こうとすると同じエラーメッセージ

は:

folder <- "C:/Users/NewPap/Desktop/DATA/test"  
file_list <- list.files(path=folder, pattern="*.csv") 
for (i in 1:length(file_list)){ 
    assign(file_list[i], 
    read.csv((paste(folder, file_list[i], sep=''))) 
    )} 

私は私が間違って何をしたかわからない、同じエラーに

を取得します。すべてのファイルは、その後、作業ディレクトリにある場合は任意の助けに

+2

私たちはあなたを助けるためにのために。しかし、 'list.files(" path/")'を使って別のディレクトリにあるファイルを見つけた場合は、 'list.files(...、full.names = TRUE)'を追加することを忘れることもありますファイル名を指定します。 – r2evans

+0

問題は企業のコンピュータと管理者の権利にあると私は思う。これが接続を開くことが不可能な理由です – kelamahim

+0

Ok ...手動でファイルを開くことができますか?あなたがアクセスを拒否するOSがあれば、Rは何もできません。 – r2evans

答えて

1

をお願い申し上げ

lapply(grep(".csv",list.files(full.names=T),value="TRUE"),read.csv) 

リスト内のすべてのCSVファイルを開く必要があります(各ファイルの内容は、リストの要素になります)。

すべてのCSVファイルは、列の数が同じ場合は、

do.call("rbind",lapply(grep("csv",list.files(full.names=T),value="TRUE"),read.csv)) 

は、すべてのCVSファイルを含む単一のデータフレームを生成します。

+0

接続を開くことができないというエラーがあります – kelamahim

+0

file.list()と入力するとファイルが表示されますか?ファイルを開く権限があることを確認してください(OSはどちらですか?) – xraynaud

+0

list.files()はい私はデータを見ることができ、私は窓にいる – kelamahim

1
folder <- "C:/Users/NewPap/Desktop/DATA/test"  
files <- list.files(path=folder, pattern="*.csv") 

これを試してみてください:十分ではありません

data = Map(f = read.csv,files,header=T) 
Reduce(function(x,y){rbind(x,y)},data) 
+0

ちょうど試してみたところ、動作していません。 – kelamahim

+0

@kelamahimそれは許可の問題です。 'read.csv(files [1]、header = T)'を使って最初に一つのファイルを読み込もうとしてください。それはエラーを投げますか? – TUSHAr

関連する問題