Main Content

datastore

データの大規模な集合用のデータストアを作成

説明

ds = datastore(location) は、location で指定されたデータの集合からデータストアを作成します。データストアとは、大きすぎてメモリに収まらないデータのコレクションを格納したリポジトリです。ds の作成後、データを読み取って処理できます。

ds = datastore(location,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、ds に追加のパラメーターを指定します。たとえば、'Type','image' を指定して、イメージ ファイルのデータストアを作成できます。

すべて折りたたむ

サンプル ファイル airlinesmall.csv に関連付けられたデータストアを作成します。このファイルには、1987 年から 2008 年までの航空会社のデータが格納されています。

数値列の欠損データのインポートを管理するには、名前と値の引数 "TreatAsMissing" および "MissingValue" を使用します。"TreatAsMissing" の値を "NA""MissingValue" の値を 0 に指定して、インポート データで "NA" のすべてのインスタンスを 0 に置き換えます。

ds = datastore("airlinesmall.csv","TreatAsMissing","NA",...
               "MissingValue",0)
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             'B:\matlab\toolbox\matlab\demos\airlinesmall.csv'
                             }
                    Folders: {
                             'B:\matlab\toolbox\matlab\demos'
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
         VariableNamingRule: 'modify'
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
             DatetimeLocale: en_US

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: 'NA'
               MissingValue: 0

  Advanced Text Format Properties:
            TextscanFormats: {'%f', '%f', '%f' ... and 26 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
            SelectedFormats: {'%f', '%f', '%f' ... and 26 more}
                   ReadSize: 20000 rows
                 OutputType: 'table'
                   RowTimes: []

  Write-specific Properties:
     SupportedOutputFormats: ["txt"    "csv"    "xlsx"    "xls"    "parquet"    "parq"]
        DefaultOutputFormat: "txt"

datastoreTabularTextDatastore を作成します。

MATLAB® パスおよびそのサブフォルダー内にあるすべての .tif ファイルを含むデータストアを作成します。

ds = datastore(fullfile(matlabroot,"toolbox","matlab"),...
"IncludeSubfolders",true,"FileExtensions",".tif","Type","image")
ds = ImageDatastore with properties:
                       Files: {
                              'H:\matlab\toolbox\matlab\demos\example.tif';
                              'H:\matlab\toolbox\matlab\imagesci\corn.tif'
                              }
                     Folders: {
                              'H:\matlab\toolbox\matlab'
                              }
    AlternateFileSystemRoots: {}
                    ReadSize: 1
                      Labels: {}
      SupportedOutputFormats: ["png"    "jpg"    "jpeg"    "tif"    "tiff"]
         DefaultOutputFormat: "png"
                     ReadFcn: @readDatastoreImage

入力引数

すべて折りたたむ

データストアに含めるファイルまたはフォルダー。FileSet オブジェクト、ファイル パス、または DsFileSet オブジェクトとして指定します。

  • FileSet オブジェクト — locationFileSet オブジェクトとして指定できます。場所を FileSet オブジェクトとして指定すると、パスまたは DsFileSet オブジェクトを指定した場合に比べ、データストアの構築時間が短くなります。詳細については、matlab.io.datastore.FileSet を参照してください。

  • ファイル パス — 単一のファイル パスを文字ベクトルまたは string スカラーとして指定できます。複数のファイル パスは文字ベクトルの cell 配列または string 配列として指定できます。

  • DsFileSet オブジェクト — DsFileSet オブジェクトを指定できます。詳細については、matlab.io.datastore.DsFileSet を参照してください。

ファイルまたはフォルダーはローカルでもリモートでもかまいません。

  • ローカルのファイルまたはフォルダー — ファイルまたはフォルダーのローカル パスを指定します。現在のフォルダー以外のファイルの場合は、絶対パスまたは相対パスを指定します。指定したフォルダーのサブフォルダー内にあるファイルは、自動ではデータストアに含まれません。ローカル パスを指定するときにワイルドカード文字 (*) を使用できます。この文字は、一致するフォルダー内にある、すべてのファイルまたは一致するすべてのファイルをデータストアに含めることを指定します。

  • リモートのファイルまたはフォルダー — hdfs:///path_to_file の形式の Uniform Resource Locator (URL) として、リモートのファイルまたはフォルダーの絶対パスを指定します。詳細については、リモート データの操作を参照してください。

フォルダーを指定する場合、データストアにはサポートされているファイル形式のファイルのみが含まれ、その他の形式のファイルは無視されます。データストアに含めるファイル拡張子のカスタム リストを指定するには、FileExtensions プロパティを参照してください。

KeyValueDatastore の場合、ファイルは関数 mapreduce で生成された MAT ファイルまたはシーケンス ファイルでなければなりません。MAT ファイルはローカル ファイル システムまたはネットワーク ファイル システムになければなりません。シーケンス ファイルは、ローカル、ネットワークまたは HDFS™ のファイル システムに配置できます。DatabaseDatastore の場合、引数 location がファイルである必要はありません。詳細については、DatabaseDatastore (Database Toolbox) を参照してください。

例: 'file1.csv'

例: '../dir/data/file1.jpg'

例: {'C:\dir\data\file1.xls','C:\dir\data\file2.xlsx'}

例: 'C:\dir\data\*.mat'

例: 'hdfs:///data/file1.txt'

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'FileExtensions',{'.jpg','.tif'} は、ImageDatastore オブジェクトについて、.jpg または .tif の拡張子をもつすべてのファイルを含めます。

データストアの種類。'Type' と次のいずれかで構成されるコンマ区切りのペアとして指定します。

'Type' の値説明
'tabulartext'表形式データを含むテキスト ファイル。データのエンコードは ASCII または UTF-8 でなければなりません。
'image'JPEG や PNG などの形式のイメージ ファイル。使用できるファイルには imformats 形式が含まれます。
'spreadsheet'1 つ以上のシートを含むスプレッドシート ファイル。
'keyvalue'MAT ファイルまたはシーケンス ファイルに含まれ、mapreduce で生成したデータをもつキーと値のペアのデータ。
'file'データの読み取りに指定の読み取り関数を必要とするカスタム形式ファイル。詳細については、FileDatastore を参照してください。
'tall'tall データ型の関数 write によって生成された MAT ファイルまたはシーケンス ファイル。詳細については、TallDatastore を参照してください。
'parquet'列方向データを含む Parquet ファイル。詳細については、ParquetDatastore を参照してください。
'database'データベースに保存されたデータ。Database Toolbox™ が必要です。type パラメーターを使用する場合は、追加の入力引数を指定する必要があります。詳細については、DatabaseDatastore (Database Toolbox) を参照してください。
  • ファイル形式をサポートする種類が複数ある場合は、引数 'Type' を使用してデータストアの種類を指定します。

  • 'Type' の値を指定しない場合、作成するデータストアの適切な種類はファイルの拡張子に基づいて datastore により自動的に判別されます。

データ型: char | string

フォルダー内のサブフォルダーを含めるかどうか。'IncludeSubfolders' と、true (1) または false (0) で構成されるコンマ区切りのペアとして指定します。各フォルダー内のすべてのファイルとサブフォルダーを含めるには true を指定し、各フォルダー内のファイルのみを含めるには false を指定します。

'IncludeSubfolders' を指定しない場合、既定値は false です。

'IncludeSubfolders' の名前と値のペアは、次のオブジェクトを作成する場合にのみ有効です。

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

  • ParquetDatastore

例: 'IncludeSubfolders',true

データ型: logical | double

ファイルの拡張子。'FileExtensions' と、文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列で構成されるコンマ区切りのペアとして指定します。'FileExtensions' を指定する場合は 'Type' も指定します。空の引用符 '' を使用して、拡張子のないファイルを表すことができます。

'FileExtensions' を指定しない場合、データストアの種類に応じて、サポートされるすべてのファイル拡張子が datastore により自動的に含められます。サポートされていない拡張子を含める場合は、含める拡張子を個々に指定します。

  • TabularTextDatastore オブジェクトの場合、サポートされる拡張子には .txt.csv.dat.dlm.asc および .text が含まれます。また、拡張子がない場合もサポートされます。

  • ImageDatastore オブジェクトの場合、サポートされる拡張子にはすべての imformats が含まれます。

  • SpreadsheetDatastore オブジェクトの場合、サポートされる拡張子には .xls.xlsx.xlsm.xltx および .xltm が含まれます。

  • TallDatastore オブジェクトの場合、サポートされる拡張子には .mat および .seq が含まれます。

  • ParquetDatastore オブジェクトの場合、サポートされる拡張子には .parquet および .parq が含まれます。

'FileExtensions' の名前と値のペアは、次のオブジェクトを作成する場合にのみ有効です。

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

  • ParquetDatastore

例: 'FileExtensions','.jpg'

例: 'FileExtensions',{'.txt','.text'}

データ型: char | cell | string

代替ファイル システムのルート パス。"AlternateFileSystemRoots" と string ベクトルまたは cell 配列で構成される名前と値の引数として指定します。ローカル マシン上にデータストアを作成するが、別のマシン (異なるオペレーティング システムの可能性がある) 上でデータにアクセスして処理する必要がある場合は、"AlternateFileSystemRoots" を使用します。また、Parallel Computing Toolbox™ と MATLAB® Parallel Server™ を使用してデータを処理し、そのデータがローカル マシンに保存され、そのデータのコピーが異なるプラットフォームのクラウドやクラスター マシンにある場合、"AlternateFileSystemRoots" を使用してルート パスを関連付けなければなりません。

  • 相互に対応する 1 組のルート パスを関連付けるには、"AlternateFileSystemRoots" を string ベクトルとして指定します。以下に例を示します。

    ["Z:\datasets","/mynetwork/datasets"]

  • データストアに対応する複数の組のルート パスを関連付けるには、複数行を含む cell 配列として "AlternateFileSystemRoots" を指定します。各行は対応するルート パスの組を表します。cell 配列内の各行を string ベクトル、または文字ベクトルの cell 配列のいずれかとして指定します。以下に例を示します。

    • "AlternateFileSystemRoots" を string ベクトルの cell 配列として指定します。

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • あるいは、"AlternateFileSystemRoots" を文字ベクトルの cell 配列からなる cell 配列として指定します。

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

"AlternateFileSystemRoots" の値は、次の条件を満たさなければなりません。

  • 1 行以上の行を含み、各行は 1 組の対応するルート パスを指定する。

  • 各行は複数のルート パスを指定し、各ルート パスは 2 文字以上を含まなければならない。

  • ルート パスは一意で、他のルート パスのサブフォルダーではない。

  • ファイルの場所を指す 1 つ以上のルート パス エントリを含む。

詳細については、異なるマシンまたはクラスターで処理するためのデータストアの設定を参照してください。

例: ["Z:\datasets","/mynetwork/datasets"]

データ型: string | cell

テキスト変数の出力データ型。'TextType''char' または 'string' のいずれかで構成されるコンマ区切りのペアとして指定します。関数 readreadall または preview の出力テーブルにテキスト変数が含まれる場合、'TextType' は、TabularTextDatastore オブジェクトおよび SpreadsheetDatastore オブジェクトについてのみ、それらの変数のデータ型を指定します。'TextType''char' の場合、出力は文字ベクトルの cell 配列です。'TextType''string' の場合、出力の型は string です。

データ型: char | string

インポートされる日付と時刻のデータの型。'DatetimeType' と、'datetime' または 'text' のいずれかの値で構成されるコンマ区切りのペアとして指定します。'DatetimeType' 引数は、TabularTextDatastore オブジェクトを作成する場合にのみ適用されます。

インポートされる日付と時刻のデータの型
'datetime'

MATLAB の datetime データ型

詳細については、datetime を参照してください。

'text'

'DatetimeType''text' として指定した場合、インポートされる日付と時刻のデータの型は 'TextType' パラメーターで指定された値によって決まります。

  • 'TextType''char' の場合、datastore は日付を文字ベクトルの cell 配列として返します。

  • 'TextType''string' の場合、datastore は日付を string 配列として返します。

例: 'DatetimeType','datetime'

データ型: char | string

テキスト ファイルからの duration データの出力データ型。'DurationType''duration' または 'text' のいずれかで構成されるコンマ区切りのペアとして指定します。

インポートされる duration データの型
'duration'

MATLAB の duration データ型

詳細については、duration を参照してください。

'text'

'DurationType''text' として指定した場合、インポートされる duration データの型は 'TextType' パラメーターで指定された値によって決まります。

  • 'TextType''char' の場合、インポート関数は duration データを文字ベクトルの cell 配列として返します。

  • 'TextType''string' の場合、インポート関数は duration データを string の配列として返します。

データ型: char | string | datetime

変数名を保持するかどうかのフラグ。"modify" または "preserve" として指定します。

  • "modify" — 無効な変数名 (関数 isvarname で判定) を、有効な MATLAB 識別子に変換。

  • "preserve" — スペースや非 ASCII 文字を含む変数名など、有効な MATLAB 識別子ではない変数名を保持。

R2019b 以降、変数名と行名には、スペースや非 ASCII 文字など任意の文字を含めることができます。また、英字だけでなく任意の文字で始めることができます。変数名と行名は、有効な MATLAB 識別子 (関数 isvarname で判定) である必要はありません。これらの変数名と行名を保持するには、VariableNamingRule の値を "preserve" に設定します。VariableNamingRule の値を "modify" から "preserve" に変更すると、変数名が更新されなくなります。

データ型: char | string

これらの名前と値のペアに加えて、次のオブジェクトの任意のプロパティも名前と値のペアとして指定できます。ただし、Files プロパティを除きます。

出力引数

すべて折りたたむ

データの集合のデータストア。TabularTextDatastoreImageDatastoreSpreadsheetDatastoreKeyValueDatastoreFileDatastoreTallDatastoreParquetDatastore、または DatabaseDatastore の各オブジェクトのいずれかとして返されます。データストアの種類は、ファイルの種類または引数 location によって決まります。詳細については、次の表のデータストア名をクリックしてください。

タイプ 出力
テキスト ファイルTabularTextDatastore
イメージ ファイルImageDatastore
スプレッドシート ファイルSpreadsheetDatastore
mapreduce によって生成された MAT ファイルまたはシーケンス ファイルKeyValueDatastore
カスタム形式ファイルFileDatastore
tall データ型の関数 write によって生成された MAT ファイルまたはシーケンス ファイル。 TallDatastore
Parquet ファイルParquetDatastore
データベースDatabaseDatastore (Database Toolbox)

これらの各データストアの種類の場合、Files プロパティは文字ベクトルの cell 配列です。個々の文字ベクトルは、location 引数に関連付けられたファイルへの絶対パスです。

バージョン履歴

R2014b で導入