2017-12-28 8 views
0

私は450 *.csvファイルをディレクトリに持っています。これらのファイルはすべてディレクトリdatastoreに収集/インポートしたいと思います。私はすべてのCSVファイルを1つのデータストアに集めるために次のコードを使用しました。ディレクトリからすべてのCSVファイルをMATLABのDatastoreにインポートする

 Path = 'Data/Dataset Collection/'; 
     Files = dir(Path); 
     for k = 1 : length(Files) 
      FileNames = Files(k).name; 

      if (~strcmp(FileNames, '.')) 
       if (~strcmp(FileNames, '..')) 
        ds = datastore([Path FileNames], 'TreatAsMissing', 'NA'); 

        if k == 3 
        ds_All = ds; 
        else 
        ds_All = [ds_All ds]; 
        end 
       end 
      end 

しかし、私はこのエラーに直面しています:

1-どのように私は datesotreを使用した方が良いコーディングを使用することができます(only ds

Array formation and parentheses-style indexing with objects of class 'matlab.io.datastore.TabularTextDatastore' is not allowed. Use objects of class 'matlab.io.datastore.TabularTextDatastore' only as scalars or use a cell array.

私は2つの質問があります(ds and ds_All)。

2私のソリューションで十分であれば、どのようにエラーを解決できますか? Matlab online helpから

+1

を試してみました'ds_All = [ds_All ds];'この行は何をすべきか? –

+0

@AmosEgel、私はds_Allとして1つの最終的なデータストアにすべての単一のcsvファイルであるすべての単一のdsを収集するつもりです。さもなければ、それらを1つ1つのデータストアに1つずつ収集する方法はありますか? –

+0

@SardarUsama、はい、私はMapReduceとCSVファイルを一緒に使用するので、2GBのデータです。 –

答えて

0

:。

ds = datastore(location) creates a datastore from the collection of data specified by location. A datastore is a repository for collections of data that are too large to fit in memory. After creating ds, you can read and process the data.

だから、あなただけのファイルがであるフォルダでデータストアを初期化することができそうですが、私はエラーがラインから来ていると信じてい

Path = 'Data/Dataset Collection/'; 
ds = datastore(Path); 
+0

ありがとうございます。正常に動作しています。 –

関連する問題