Development Environment | ![]() ![]() |
インポート関数を使ったテキストデータの取り扱い
コマンドライン、または、M-ファイルからテキストデータをインポートするには、MATLABインポート関数を使用しなくてはなりません。どの関数を使用するかは、テキストファイルのデータのフォーマットに依存します。
テキストデータは、デリミタ、または、列区切り文字と呼ばれるテキストキャラクタを使って、行と列が統一パターンになるようにフォーマットされていなければなりません。デリミタには、スペース、コンマ、セミコロン、タブ、または、その他のキャラクタを設定できます。個々のデータ項目が、アルファベットキャラクタ、数値キャラクタ、両方の混合のいずれであっても、データを処理することは可能です。
テキストファイルには、ヘッダラインと呼ばれる1行以上のテキストを含めても構いません。つぎの例は、ヘッダテキスト、行及び列ヘッダを含んだ、タブ区切りテキストのケースを示しています。
データがどのようにフォーマットされたかを確認するには、テキストエディタでデータを表示してください。そして、フォーマットを決定したら、表 6-1のフォーマットサンプルをスキャンし、ユーザデータのフォーマットに最も近いサンプルを探し出します。より詳しい情報を得るには、表に記載されている関連トピックを参照してください。
MATLABインポート関数を知っているが、いつそれを使ったらいいのかが確かでない、という場合は、表 6-2を参照してください。この表では、それぞれの関数の特徴が比較対照されています。
データフォーマットのサンプル |
ファイル拡張子 |
詳細 |
1 2 3 4 5 |
.txt または、その他 |
詳細は、数値テキストデータのインポートを参照してください。このデータフォーマットについては、インポートウィザードを使うこともできます。 詳細については、インポートウィザードを使ったテキストデータの取り扱いを参照してください。 |
1; 2; 3; 4; 5 |
.txt または、その他 |
詳細については、区切り文字を使ったASCIIデータファイルのインポートを参照してください。このデータフォーマットについて、インポートウィザードを使うこともできます。詳細については、インポートウィザードを使ったテキストデータの取り扱いを参照してください。 |
Ann Type1 12.34 45 Yes |
.txt または、その他 |
詳細については、テキストヘッダを含む数値データのインポートを参照してください。 |
Grade1 Grade2 Grade3 |
.txt または、その他 |
詳細については、テキストヘッダを含む数値データのインポートを参照してください。このフォーマットのデータについては、インポートウィザードを使うこともできます。 詳細については、インポートウィザードを使ったテキストデータのインポートを参照してください。 |
関数 |
データタイプ |
デリミタ |
出力値の数 |
注釈 |
csvread |
数値データ |
コンマのみ |
1個 |
主に、スプレッドシートのデータに使用します。バイナリフォーマットスプレッドシートインポート関数も参照してください。 |
dlmread |
数値データ |
任意のキャラクタ |
1個 |
フレキシブル、かつ簡単に使用できる関数です。 |
fscanf |
アルファベットや数値データ、ただし、双方のタイプ共に単一の出力変数に出力します。 |
任意のキャラクタ |
1個 |
低水準ファイルI/Oルーチンの1つです。この関数を使うには、先ず、fopen を使ってファイル識別子を得ることが必要です。また、読み込みが終わった後は、fclose でファイルをクローズしなくてはなりません。 |
load |
数値データ |
スペースのみ |
1個 |
簡単に使用できる関数です。load の関数型を使用して、出力変数の名前を指定してください。 |
textread |
アルファベット、数値データ |
任意のキャラクタ |
複数の出力値 |
簡単に使用できるフレキシブル、かつ高機能の関数です。書式文字列を使って、どのように変換を行うかを指定してください。 |
![]() | インポートウィザードを使ったテキストデータの取り扱い | 数値テキストデータのインポート | ![]() |