Main Content

importdata

ファイルからデータを読み込む

説明

A = importdata(filename) はデータを配列 A に読み込みます。

A = importdata('-pastespecial') はファイルからではなく、システムのクリップボードからデータを読み込みます。

A = importdata(___,delimiterIn)delimiterIn を ASCII ファイル filename の列区切りまたはクリップボードのデータとして解釈します。上記構文のいずれの入力引数でも delimiterIn を使用できます。

A = importdata(___,delimiterIn,headerlinesIn) は、ASCII ファイル filename またはクリップボードから headerlinesIn+1 行目以降の数値データを読み取ります。

[A,delimiterOut,headerlinesOut] = importdata(___) は、前述の構文の任意の入力引数を使用して、さらに、入力 ASCII ファイルで検出された区切り記号文字を delimiterOut に返し、検出されたヘッダー行の数を headerlinesOut に返します。

すべて折りたたむ

サンプル イメージ ngc6543a.jpg をインポートして表示します。

A = importdata('ngc6543a.jpg');
image(A)

Figure contains an axes object. The axes object contains an object of type image.

補助関数 imreadcolormapalpha に空の値を返すため、出力 A はクラス uint8 です。

テキスト エディターを使用して、列ヘッダーを含むスペース区切りの ASCII ファイルを myfile01.txt という名前で作成します。

Day1  Day2  Day3  Day4  Day5  Day6  Day7
95.01 76.21 61.54 40.57  5.79 20.28  1.53
23.11 45.65 79.19 93.55 35.29 19.87 74.68
60.68  1.85 92.18 91.69 81.32 60.38 44.51
48.60 82.14 73.82 41.03  0.99 27.22 93.18
89.13 44.47 17.63 89.36 13.89 19.88 46.60

スペース区切り記号と列ヘッダー 1 つを指定してファイルをインポートします。

filename = 'myfile01.txt';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);

列 3 と列 5 を表示します。

for k = [3, 5]
   disp(A.colheaders{1, k})
   disp(A.data(:, k))
   disp(' ')
end
Day3
   61.5400
   79.1900
   92.1800
   73.8200
   17.6300

 
Day5
    5.7900
   35.2900
   81.3200
    0.9900
   13.8900

テキスト エディターを使用して、myfile02.txt という名前のコンマ区切り ASCII ファイルを作成します。

1,2,3
4,5,6
7,8,9

ファイルをインポートして、出力データと検出された区切り記号を表示します。

filename = 'myfile02.txt';
[A,delimiterOut]=importdata(filename)
A =

     1     2     3
     4     5     6
     7     8     9


delimiterOut =

,

以下の行をクリップボードにコピーします。テキストを選択し、右クリックして、[コピー] を選択します。

1,2,3
4,5,6
7,8,9

以下のように入力して、クリップボードのデータを MATLAB® にインポートします。

A = importdata('-pastespecial')
A =

     1     2     3
     4     5     6
     7     8     9

入力引数

すべて折りたたむ

インポートするファイルの名前と拡張子。文字ベクトルまたは string スカラーとして指定します。importdata がファイル拡張子を認識する場合は、関連付けられたファイル形式をインポートする MATLAB 補助関数を呼び出します (MAT ファイルの場合は load、スプレッドシートの場合は xlsread)。ファイル拡張子を認識できない場合、importdata はファイルを区切り付きの ASCII ファイルと解釈します。

ASCII ファイルとスプレッドシートの場合、importdata は、行列のような四角形の形状に数値データがあることを想定しています。テキスト ヘッダーは、次のように数値データの上か左に表示されます。

  • 列ヘッダーまたはファイルの説明テキストは、ファイル冒頭の数値データの上に表示されます。

  • 行ヘッダーは数値データの左。

例: 'myFile.jpg'

データ型: char | string

列区切り文字。文字ベクトルまたは string スカラーとして指定します。既定の文字がファイルから解釈されます。タブには、'\t' を使用します。

例: ','

例: ' '

データ型: char | string

非負のスカラー整数として指定される、ASCII ファイルのテキスト ヘッダー行の数。headerlinesIn を指定しない場合、関数 importdata がファイルのこの値を検出します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

ファイルの特性に応じて、行列、多次元配列またはスカラー構造体配列として返される、ファイルからのデータ。入力ファイルのファイル形式に基づいて、importdata は補助関数を呼び出してデータを読み取ります。補助関数が空でない出力を複数返すと、importdata は出力を struct 配列に統合します。

次の表に、複数の出力を返すことができる補助関数に関連付けられたファイル形式と、構造体配列 A の使用可能なフィールドを示します。

ファイル形式使用可能なフィールドクラス

MAT ファイル

各変数につき 1 フィールド

各変数に関連付けられています。

ASCII ファイルとスプレッドシート

data
textdata
colheaders
rowheaders

ASCII ファイルの場合、data には double 配列が含まれています。他のフィールドには文字ベクトルの cell 配列が含まれています。textdata には行ヘッダーおよび列ヘッダーが含まれています。
スプレッドシートの場合は、フィールドごとに struct が 1 つ、ワークシートごとにフィールドが 1 つ含まれています。

イメージ

cdata
colormap
alpha

imread を参照してください。

オーディオ ファイル

data
fs

audioread を参照してください。

サポートされている他のほとんどのファイル形式では、MATLAB 補助関数は出力を 1 つ返します。各出力のクラスの詳細については、インポートとエクスポートでサポートされるファイル形式を参照してください。

ASCII ファイルまたはスプレッドシートに列ヘッダーか行ヘッダーのどちらか一方が含まれている場合、importdata は出力構造体で colheaders フィールドか rowheaders フィールドを返します。その場合、

  • colheaders には列ヘッダーのテキストの最後の行のみが含まれます。importdatatextdata フィールドのすべてのテキストを保存します。

  • rowheaders は、ファイルまたはワークシートに行ヘッダーが 1 列含まれている場合にのみ作成されます。

入力 ASCII ファイルで検出された列区切り。文字ベクトルとして返されます。

整数として返される、入力 ASCII ファイルで検出された テキスト ヘッダー行の数。

ヒント

  • 列ヘッダーまたは行ヘッダー以外の場所に数値以外の文字 (文字データの列や書式設定された日時など) が含まれている ASCII ファイルをインポートするには、importdata ではなく、readtable を使用します。

バージョン履歴

R2006a より前に導入