2012-01-22 12 views
3

CSVファイルをMATLABにインポートする方法は?私が作業しているファイルの行は、次のようになります。MATLABでCSVファイルをインポートする

SUNW,2-Jan-98,1998,5,40.125,41.5 

36列と10107行があります。最初の行には列見出しが含まれます。 MATLABでは、この種のCSVファイルのインポートはサポートされていないようです。次のtextscan関数を使用すると、データ全体が1つのセル配列に読み込まれます。

data = textscan(fid, '%s %s %d %d %f %f', ... 
    'HeaderLines',1, 'Delimiter',',', 'CollectOutput',1); 

各列の異なる変数にデータを読み取る方法はありますか?

答えて

2

textscan documentationで例6は、あなたが興味を持っているユースケースカバーするようだ:テキストエディタを使用して

を、 は行が含まれていることをカンマ区切りのファイルdata2.csvを作成

abc, 2, NA, 3, 4 
    // Comment Here 
    def, na, 5, 6, 7 

のコメントや空 値として扱うべき関数textscan入力指定:

fid = fopen('data2.csv'); 
    C = textscan(fid, '%s %n %n %n %n', 'delimiter', ',', ... 
       'treatAsEmpty', {'NA', 'na'}, ... 
       'commentStyle', '//'); 
    fclose(fid); 

関数textscanは、以下の細胞と1×5セル配列Cを返します。

C{1} = {'abc'; 'def'} 
    C{2} = [2; NaN] 
    C{3} = [NaN; 5] 
    C{4} = [3; 6] 
    C{5} = [4; 7] 

それが明示的に別の変数に各列を割り当てることはありませんが、あなたは簡単にcol1 = C{1};ような何かを行うことができます。

関連する問題