MATLAB Function Reference    
textread

テキストファイルから書式化されたデータを読む

    グラフィカルインタフェース

textread の別な使用法として、Load Wizard を使います。 Load Wizard をアクティブにするには、ファイル(File) メニューから Load data を選択します。

表示

詳細

[A,B,C,...] = textread('filename','format') は、ファイル 'filename' からデータを読み、変数 A,B,C, に、指定した format を使って、割り当てます。この操作は、すべてのファイルが読み込まれるまで続けます。textread は、既知のフォーマットを使ったテキストファイルを読むのに有効なものです。固定ファイル、フリーファイル共に、取り扱うことができます。

textread は、入力からキャラクタ群を一致させ、変換します。各入力フィールドは、空白キャラクタを含まない文字列として定義され、つぎの空白スペース、または、区切り子キャラクタ、または、最大フィールド幅のいずれかまで拡張します。繰り返される区切りキャラクタは、繰り返される空白スペースキャラクタを同じ一つのものと取り扱うので、重要なものです。

format 文字列は、戻り引数の数とタイプを決定します。戻り引数の数は、format 文字列の中のアイテム数です。format 文字列は、C 言語の fscanf ルーチンで使われている通常の方法(慣習)や変換指定子のサブセットをサポートしています。format 文字列に対する値は、下の表を参照してください。format 文字列の中の空白スペースキャラクタは無視されます。

format
挙動
出力
文字
(通常のキャラクタ)
一致したキャラクタを無視します。たとえば、ファイルの中で、数字に続く Dept が存在し、format'Dept' を使っているとすると、Dept をスキップして、数字のみを読みます。
なし
%d
符号付き整数値を読む
倍精度配列
%u
整数値を読む
倍精度配列
%f
浮動小数点値を読む
倍精度配列
%s
スペースを使った区切り子をもつ文字を読む
文字のセル配列
%q
文字を読みますが、ダブルコーテッションの中の文字を読むことができます。
文字のセル配列。ダブルコーテッションは含みません。
%c
スペースを含む文字列を読む
キャラクタ配列
%[...]
鍵括弧の中に指定したキャラクタを含む最大長の文字列を読む
文字のセル配列
%[^...]
鍵括弧の中に指定していないキャラクタを含む最大の長さをもつ空でない文字列を読む
文字のセル配列
%*...
% の代わり
* で指定されるキャラクタを無視する。
出力なし
%w...
% の代わり
w で指定されるフィールド幅を読む。%f フォーマットは、%w.pfをサポートします。ここで、w は、フィールド幅で、p は精度です。

[A,B,C,...] = textread('filename','format',N) は、format 文字をN 回、再利用して、 データを読みます。ここで、N はゼロ以上の整数です。N がゼロ以下の場合、textread は全ファイルを読みます。

[...] = textread(...,'param','value',...) は、param/valueの組を使って、textread をカスタマイズできます。

param

挙動
whitespace
\*で、*は、使っても
空白スペースとして、キャラクタ * のベクトルを取り扱う。デフォルトは、\b\r\n\t です。

b
f
n
r
t
\\
\'' or ''
%%
バックスペース
フォームフィード
改行
キャレッジリターン
水平タブ
バックスラッシュ
シングルコートマーク
パーセント符号n
delimiter
区切りキャラクタ
区切りキャラクタの指定。デフォルトは、noneです。
expchars
指数キャラクタ
デフォルトは、eEdDです。
bufsize
正の整数
ビット単位での最大文字長の指定。デフォルトは、4095です。
headerlines
正の整数
ファイルの最初で、指定したライン数だけ無視します。
commentstyle
matlab
% の後のキャラクタを無視
commentstyle
shell
#の後のキャラクタを無視
commentstyle
c
/**/ の間のキャラクタを無視
commentstyle
c++
//の後のキャラクタを無視

例題

例題 1 - %を使って、フリーフォーマットファイルの中のすべてのファイルを読む

mydata.dat の最初のラインを、つぎのように仮定します。

% フォーマットを使って、フリーフォーマットファイルとして、ファイルの最初のラインを読みます。

は、つぎの結果を戻します。

例題 2 - 浮動小数点値を無視して、固定フォーマットファイルを読む

mydata.dat の最初のラインをつぎのように仮定します。

浮動小数点値を無視して、固定フォーマットファイルとして、ファイルの最初のラインを読みます。

は、つぎの結果を戻します。

format の中の%*f により、textread に浮動小数点値を無視させます。この場合は、12.34 になります。

例題 3 - 文字を使って、一致するキャラクタを無視して読みます。

mydata.dat の最初のラインをつぎのように考えます。

ファイルの最初のラインを読み、2番目のファイルのキャラクタ Type を無視します。

は、つぎの出力を行います。

format 文字列の中の Type%d により、2番目のフィールドの中のキャラクタ Type を無視します。一方、2番目のファイルの残りは、符号付き整数として読まれます。この場合は、1 が出力されます

例題 4 - M-ファイルを文字列のセル配列に読みます。

ファイル fft.m を文字列のセル配列に読み込みます。

参考

dlmread, fscanf


 Text Properties textwrap