ドキュメンテーション

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

非矩形配列テキスト ファイルからのデータのインポート

この例では、関数 textscan を使用して、非矩形ファイルからデータをインポートする方法を説明します。textscan を使用する場合、データは複数の行と列からなる規則的なパターンである必要はありませんが、繰り返しパターンでなければなりません。

次のデータをもつファイル nonrect.dat を作成します (コピーしてテキスト エディターに貼り付けてください)。

begin
v1=12.67
v2=3.14
v3=6.778
end
begin
v1=21.78
v2=5.24
v3=9.838
end

関数 fopen を使用して、読み取るファイルを開きます。

fileID = fopen('nonrect.dat');

fopen はファイル識別子 fileID を返します。textscan がこのファイル識別子を呼び出して、そのファイルから読み取ります。

書式指定子と区切り記号パラメーターを使用して、ファイルのデータのパターンを記述します。標準的な書式指定子には、文字列の '%s'、整数の '%d'、浮動小数点数の '%f' などがあります nonrect.dat をインポートするには、書式指定子 '%*s' を使用して文字列 begin および end をスキップするように textscan に指示します。書式指定子の一部としてリテラル 'v1=''v2='、および 'v3=' を含め、textscan によってこれらの文字列も無視されるようにします。

formatSpec = '%*s v1=%f v2=%f v3=%f %*s';

textscan を使用してデータをインポートします。ファイル識別子と formatSpec を入力として渡します。各データ フィールドは新しい行に配置されるため、区切り記号は改行文字 ('\n') です。すべての浮動小数点データを 1 つの配列に結合するには、CollectOutput の名前と値の組の引数を true に設定します。

C = textscan(fileID,formatSpec,...            
                'Delimiter', '\n', ...
                'CollectOutput', true)
C = 

    [2x3 double]

textscan はセル配列 C を返します。

ファイルを閉じます。

fclose(fileID);

C の内容を表示します。

celldisp(C)
C{1} =
 
   12.6700    3.1400    6.7780
   21.7800    5.2400    9.8380

参考

詳細

この情報は役に立ちましたか?