2011-07-26 7 views
0

私はimportdataでMatlabに読み込んだ配列を持っています。それは5つのヘッダー行を持っていますMatlab:列ヘッダーテキストで複数のファイルからデータを検索/書き込み

ファイル= 'aoao.csv';
s = importdata(ファイル、 '、'、5);

Matlabは自動的に最後の行を列ヘッダーとして扱います。次に、私が望む列番号を呼び出すことができます
s.data(:、n); %nが必要な列番号

同じファイルを一度に読み込み、同じ列のヘッダー名を持つ異なるファイルの列を呼び出すことができます)。私は、これらの列をすべて新しい行列に書き込んで書き出すことができます。好ましくは、各列にファイル名が付いています。

どうすればよいですか?

答えて

0
samp = 'len-c.mp3'; %# define desired sample/column header name 

file = dir('*.csv'); 

メイン画面の現在のフォルダにディレクトリがあります。これは、ファイルの詳細な記述を作成し、

for i=1:length(file) 
    set(i) = importdata(file(i).name,',', 5); 
end 

これはファイル(カンマ区切り、5ヘッダ行)の各々からデータをインポートし、

for k = 1:14; 
    for i=1:length(set(k).colheaders) 
     TF = strcmp(set(k).colheaders(i),samp); %compares strings for match 
     if TF == 1; %if match is true 
     group(:,k) = set(k).data(:,i); %save matching column# to 'group' 
     end 
    end 
end 

を「セット」と呼ばれるセルアレイに搬送しますこれは、各ファイル内の指定されたcolheaderからデータを取得します。

関連する問題