このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
read
データストアのデータの読み取り
説明
例
TabularTextDatastore のデータの読み取り
表形式データが格納されたサンプル ファイル airlinesmall_subset.csv
からデータストアを作成します。
ds = tabularTextDatastore("airlinesmall_subset.csv","TreatAsMissing","NA","MissingValue",0);
SelectedVariableNames
プロパティを変更して対象の変数を指定します。
ds.SelectedVariableNames = ["DepTime","ArrTime","ActualElapsedTime"];
読み取り可能なデータがなくなるまで、データストアのデータを一度に 1 ブロックずつ読み取り、データを解析します。この例では、実際の経過時間の合計を求めます。
sumElapsedTime = 0; while hasdata(ds) T = read(ds); sumElapsedTime = sumElapsedTime + sum(T.ActualElapsedTime); end
実際の経過時間の合計を表示します。
sumElapsedTime
sumElapsedTime = 154759
KeyValueDatastore のデータの読み取り
関数 mapreduce
の出力ファイルであるサンプル ファイル mapredout.mat
からデータストアを作成します。
ds = datastore('mapredout.mat');
データストアのデータのサブセットを読み取ります。
T = read(ds)
T=1×2 table
Key Value
______ _________
{'AA'} {[14930]}
データストアの ReadSize
プロパティを変更して、一度に読み取るキーと値のペアの数を変更します。
ds.ReadSize = 5;
データストアから次の 5 組のキーと値のペアを読み取ります。
T = read(ds)
T=5×2 table
Key Value
______ _________
{'AS'} {[ 2910]}
{'CO'} {[ 8138]}
{'DL'} {[16578]}
{'EA'} {[ 920]}
{'HP'} {[ 3660]}
CombinedDatastore のデータの読み取り
基となるデータストアのイメージ ペア間のパリティを維持するデータストアを作成します。たとえば、2 つのイメージ データストアを個別に作成してから、2 つのイメージ データストアから対応するイメージを読み取る統合データストアを作成します。
3 つのイメージの集合を表すイメージ データストア imds1
を作成します。
imds1 = imageDatastore({'peppers.png','street1.jpg','street2.jpg'});
3 つのイメージの明るい領域のマスクを含む、2 番目のデータストア imds2
を作成します。このデータストアを作成するために、まず imds1
のイメージをグレースケールに変換します。次に、しきい値処理を実行して各イメージをバイナリ マスクに変換します。この例のしきい値処理では、値がしきい値 (250
) を超えるピクセルを白、その他すべてのピクセルを黒にマップします。
imds2 = transform(imds1,@(x) im2gray(x)>250);
imds1
と imds2
から統合データストアを作成します。
imdsCombined = combine(imds1,imds2);
統合データストアから最初のデータ サブセットを読み取ります。出力は 1 行 2 列の cell 配列です。2 つの列は、それぞれ基となる 2 つのデータストア imds1
および imds2
から読み取った最初のデータ サブセットを表します。
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{384x512x3 uint8} {384x512 logical}
統合データストアから読み取ったデータを、タイル イメージのペアとして表示します。
tile = imtile(dataOut); imshow(tile)
統合データストアから再度読み取ります。次の関数 read
の呼び出しでは、前回の呼び出しの終点から読み取りが続行されます。
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{480x640x3 uint8} {480x640 logical}
読み取ったデータを表示します。
tile = imtile(dataOut); imshow(tile)
入力引数
ds
— 入力データストア
データストア
入力データストア。次のデータストアを read
メソッドの入力として使用できます。
MATLAB® データストア — MATLAB
datastore
関数を使用して作成されたデータストア。たとえば、ImageDatastore
を使用して、イメージの集合用のデータストアを作成します。データストアの完全な一覧については、ファイル形式またはアプリケーション用のデータ ストアの選択を参照してください。統合および変換を行ったデータストア — 関数
combine
およびtransform
を使用して作成したデータストア。カスタム データストア — カスタム データストア フレームワークを使用して作成したデータストア。カスタム データストアの開発を参照してください。
出力引数
data
— 出力データ
table | timetable | 配列
出力データ。入力 ds
の種類に従って table、timetable、または配列として返されます。data
出力は、インポート構成と組み合わせた関数 read
の特定の呼び出しで読み取られたデータ量が値を返さない場合、空にすることができます。
データストアの種類 | data のデータ型 | 説明 |
---|---|---|
TabularTextDatastore 、SpreadsheetDatastore 、および ParquetDatastore | table または timetable | テーブル変数は SelectedVariableNames プロパティにより決定されます。OutputType プロパティは、出力が table か timetable かを判別します。 |
ImageDatastore | 整数配列 | 整数配列の次元はイメージのタイプによって決まります。
|
KeyValueDatastore | table | テーブル変数名は Key と Value です。 |
FileDatastore | 場合により異なる | 出力は、'ReadFcn' 値で指定されるカスタム読み取り関数が返す出力と同じです。 |
TransformedDatastore | 場合により異なる | 出力は、TransformedDatastore の作成に使用される transform メソッドで指定された変換関数 @fcn の出力と同じです。 |
CombinedDatastore | 場合により異なる | 対応する基となるデータストアから得た、read の出力の水平方向の連結が格納されます。 |
SequentialDatastore | 場合により異なる | 現在の基となるデータストアから得た、read のシーケンシャルな出力が格納されます。 |
info
— 読み取ったデータに関する情報
構造体配列 | cell 配列
読み取ったデータに関する情報。構造体配列、または構造体配列の cell 配列として返されます。
MATLAB データストアと
TransformedDatastore
の場合、info
はデータストアに関する情報を含むフィールドをもつ構造体配列。CombinedDatastore
の場合、info
は構造体配列の cell 配列。cell 配列の各要素には、対応する基となるデータストアの関連フィールドをもつ構造体が格納されます。SequentialDatastore
の場合、info
のデータ型と形式は、現在の基となるデータストアと同じになります。
構造体配列内の情報は、入力データストアのタイプによって決まります。この構造体配列には、次のフィールドを含めることができます。
フィールド名 | データストアの種類 | 説明 |
---|---|---|
Filename | ImageDatastore 、SpreadsheetDatastore 、TabularTextDatastore 、FileDatastore 、KeyValueDatastore 、TallDatastore | Filename は、パス文字列、ファイル名、およびファイル拡張子を含む、完全に解決されたパスです。ReadSize プロパティが 1 より大きい ImageDatastore オブジェクトの場合、Filename は各イメージに対応するファイル名の cell 配列です。 |
FileSize | ファイルの合計サイズ (バイト単位)。
MAT ファイルの場合、
| |
FileType | KeyValueDatastore のみ | データを読み取るファイルの種類。MAT ファイルの場合は |
Label | ImageDatastore のみ | イメージのラベル名。 |
NumCharactersRead | TabularTextDatastore のみ | 読み取られた文字数。 |
NumDataRows | SpreadsheetDatastore のみ | 各シートから読み取った行数を含むベクトル。 |
Offset | KeyValueDatastore および TabularTextDatastore のみ | 読み取り操作の開始位置 (バイト単位)。MAT ファイルの場合、 |
SheetNames | SpreadsheetDatastore のみ | 読み取ったシートの名前。 |
SheetNumbers | SpreadsheetDatastore のみ | 読み取ったシートに関連付けられている番号。 |
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
使用上の注意事項および制限事項:
スレッドベースの環境では、次のデータストアでのみ
read
を使用できます。ImageDatastore
オブジェクトcombine
またはtransform
を使用してImageDatastore
オブジェクトから作成するCombinedDatastore
、SequentialDatastore
、またはTransformedDatastore
オブジェクト
Parallel Computing Toolbox™ がある場合は、他のデータストアで
read
を使用できます。これを行うには、backgroundPool
またはThreadPool
を使用する代わりに、プロセスベースの並列プールを使用して関数を実行します (ProcessPool
またはClusterPool
を使用します)。read
は、スレッドベースの環境では次のイメージ形式をサポートしません。階層データ形式 (HDF)
SVS
TIFF
詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2014b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)