ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

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

テキスト ファイルからテキストと数値が混在するデータをインポート

この例では、textscan を使用して数値以外の文字を含むフィールドをもつ ASCII データ ファイルをインポートする方法を説明します。

たとえば、textscan を使用して mydata.dat という名前のファイルをインポートできます。

Sally    09/12/2005 12.34 45 Yes
Larry    10/12/2005 34.56 54 Yes
Tommy    11/12/2005 67.89 23 No

ファイル を開く

textscan の呼び出しの前に fopen の呼び出しで読み取り用にファイルを開き、操作が終了したら fclose を使用してファイルを閉じます。

データの記述

関数 textscan は柔軟に使用できますが、より多くのファイル情報を指定する必要があります。文字列には '%s'、整数には '%d'、浮動小数点数には '%f' など、各フィールドについて書式指定子を使用して記述を行います (書式指定子の一覧は、textscan のリファレンス ページを参照してください)。

セル配列へのインポート

textscan にファイル識別子と、mydata.dat の各行の 5 つのフィールドを記述する書式指定子を指定して送ります。textscan は 5 つのセルを含むセル配列を返します。

fid = fopen('mydata.dat');
mydata = textscan(fid, '%s %s %f %d %s');
fclose(fid);

whos mydata
  Name        Size            Bytes  Class    Attributes

  mydata      1x5               952  cell 

mydata = 
  {3x1 cell}  {3x1 cell}  [3x1 double]  [3x1 int32]  {3x1 cell}

ここで、

mydata{1} = {'Sally'; 'Larry'; 'Tommy'}
mydata{2} = {'09/12/2005'; '10/12/2005'; '11/12/2005'}
mydata{3} = [12.3400; 34.5600; 67.8900]
mydata{4} = [45; 54; 23]
mydata{5} = {'Yes'; 'Yes'; 'No'}

または、readtable を使用して、型の混在する列方向データをテーブルにインポートすることができます。詳細は、「テーブルの作成」を参照してください。

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