read
データストアのデータの読み取り
説明
例
表形式データが格納されたサンプル ファイル 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
関数 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]}
基となるデータストアのイメージ ペア間のパリティを維持するデータストアを作成します。たとえば、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
{384×512×3 uint8} {384×512 logical}
統合データストアから読み取ったデータを、タイル イメージのペアとして表示します。
tile = imtile(dataOut); imshow(tile)

統合データストアから再度読み取ります。次の関数 read の呼び出しでは、前回の呼び出しの終点から読み取りが続行されます。
dataOut = read(imdsCombined)
dataOut=1×2 cell array
{480×640×3 uint8} {480×640 logical}
読み取ったデータを表示します。
tile = imtile(dataOut); imshow(tile)

入力引数
入力データストア。次のデータストアを read メソッドの入力として使用できます。
MATLAB® データストア — MATLAB
datastore関数を使用して作成されたデータストア。たとえば、ImageDatastoreを使用して、イメージの集合用のデータストアを作成します。データストアの完全な一覧については、ファイル形式またはアプリケーション用のデータストアの選択を参照してください。統合および変換を行ったデータストア — 関数
combineおよびtransformを使用して作成したデータストア。カスタム データストア — カスタム データストア フレームワークを使用して作成したデータストア。カスタム データストアの開発を参照してください。
出力引数
出力データ。入力 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 のシーケンシャルな出力が格納されます。 |
読み取ったデータに関する情報。構造体配列、または構造体配列の 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 のみ | 読み取ったシートに関連付けられている番号。 |
拡張機能
使用上の注意および制限:
スレッドベースの環境では、次のデータストアでのみ
readを使用できます。ImageDatastoreオブジェクトcombineまたはtransformを使用してImageDatastoreオブジェクトから作成するCombinedDatastore、SequentialDatastore、またはTransformedDatastoreオブジェクト
Parallel Computing Toolbox™ がある場合は、他のデータストアで
readを使用できます。これを行うには、backgroundPoolまたはThreadPoolを使用する代わりに、プロセスベースの並列プールを使用して関数を実行します (ProcessPoolまたはClusterPoolを使用します)。readは、スレッドベースの環境では次のイメージ形式をサポートしません。階層データ形式 (HDF)
SVS
TIFF
詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2014b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)