Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

tabularTextDatastore

表形式テキスト ファイルのデータストア

説明

列方向のデータや表形式データを含むテキスト ファイルの大規模な集合 (必ずしもメモリに収まるとは限らない) を管理するには、TabularTextDatastore オブジェクトを使用します。表形式データとは、各行に同数のエントリをもつ四角形の表として配置されたデータです。関数 tabularTextDatastore を使用して TabularTextDatastore オブジェクトを作成し、そのプロパティを指定すると、オブジェクト関数を使用してデータのインポートおよび処理ができます。

作成

説明

ttds = tabularTextDatastore(location) は、location で指定されたデータの集合からデータストアを作成します。

ttds = tabularTextDatastore(location,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、ttds の追加パラメーターとプロパティを指定します。たとえば、tabularTextDatastore(location,"FileExtensions",[".txt",".csv"]) は、拡張子が .txt.csv である location 内のファイルのみからデータストアを作成します。

入力引数

すべて展開する

データストアに含めるファイルまたはフォルダー。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 プロパティを参照してください。

関数 tabularTextDatastore は、.txt.csv.dat.dlm.asc、および .text の各拡張子のファイルと拡張子なしのファイルをサポートしています。

例: "file1.csv"

例: "../dir/data/file1"

例: ["C:\dir\data\file1.csv","C:\dir\data\file2.dat"]

例: "C:\dir\data\*.text"

名前と値の引数

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

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

例: ttds = tabularTextDatastore("C:\dir\textdata","FileExtensions",[".csv",".txt"])

テキスト ファイルの拡張子。"FileExtensions" と、文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列で構成されるコンマ区切りのペアとして指定します。指定する拡張子は、サポートされる形式でなくても構いません。サポートされていない拡張子を含める場合は、すべての拡張子を指定してください。空の引用符 "" を使用して、拡張子なしでファイルを表すことができます。

例: "FileExtensions",".txt"

例: "FileExtensions",[".text",".csv"]

データ型: char | cell | string

サブフォルダーを含めるかどうかのフラグ。"IncludeSubfolders" と、truefalse、0、1 のいずれかで構成される名前と値の引数として指定します。各フォルダー内のすべてのファイルとサブフォルダーを含めるには true を指定し、各フォルダー内のファイルのみを含めるには false を指定します。

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

例: "IncludeSubfolders",true

データ型: logical | double

出力のデータ型。"OutputType" と次の値のいずれかで構成される名前と値の引数として指定します。

  • "auto""RowTimes" の名前と値の引数を指定するかどうかに基づいて、データストアからの出力を table または timetable のいずれにすべきかを検出します。出力は、"RowTimes" を指定する場合は timetable、指定しない場合は table になります。

  • "table"table を返します。

  • "timetable"timetable を返します。

OutputType の値により、関数 previewread および readall で返されるデータ型が決まります。このオプションを "RowTimes" の名前と値のペアと組み合わせて使用すると、TabularTextDatastore から timetable が返されます。

例: "OutputType","timetable"

データ型: char | 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 の出力 table にテキスト変数が含まれる場合、"TextType"TabularTextDatastore でのそれらの変数のデータ型を指定します。"TextType""char" の場合、出力は文字ベクトルの cell 配列です。"TextType""string" の場合、出力の型は string です。

データ型: char | string

インポートされる日付と時刻のデータの型。"DatetimeType" と、"datetime" または "text" のいずれかの値で構成されるコンマ区切りのペアとして指定します。

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

MATLAB の datetime データ型

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

"text"

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

  • "TextType""char" の場合、tabularTextdatastore は、文字ベクトルの cell 配列として日付をインポートします。

  • "TextType""string" の場合、tabularTextdatastore は、string の配列として日付をインポートします。

指定した TextscanFormats プロパティに %D が含まれる場合、tabularTextdatastoreDatetimeType で指定された値を無視します。

例: "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

日付を解釈するためのロケール。文字ベクトルまたは string スカラーとして指定します。DatetimeLocale 値は、インポート関数が日付と時刻を表すテキストを解釈する方法を決定します。

DatetimeLocale を指定する場合、xx_YY の形式を使用します。ここで xx は ISO 639-1 で定義された小文字 2 文字の言語コードで、YY は ISO 3166-1 alpha-2 で定義された大文字の国コードです。

次の表に一般的なロケールの値を示します。

ロケール 言語
"de_DE"ドイツ語ドイツ
"en_GB"英語英国
"en_US"英語米国
"es_ES"スペイン語スペイン
"fr_FR"フランス語フランス
"it_IT"イタリア語イタリア
"ja_JP"日本語日本
"ko_KR"韓国語韓国
"nl_NL"オランダ語オランダ
"zh_CN"簡体字中国語中国

メモ

Locale 値により、入力値の解釈方法が決まります。表示形式と言語は、[基本設定] ウィンドウの [日付と時刻の形式] セクションの [ロケール] オプションによって指定されます。既定の日付と時刻のロケールを変更する方法については、コマンド ウィンドウ基本設定の設定を参照してください。

データ型: char | string

これらの名前と値のペアに加えて、このページのプロパティも名前と値のペアとして指定できます。ただし、Files プロパティを除きます。

プロパティ

すべて展開する

TabularTextDatastore プロパティは、TabularTextDatastore オブジェクトに関連付けられているファイルを記述します。具体的には、プロパティはファイル内のデータの形式を記述し、データストアからデータを読み取る方法を制御します。TabularTextDatastore オブジェクトの作成時に、データストア関数は Files プロパティ内の最初のファイルを使用して、そのプロパティの値を決定します。Files プロパティを除いて、datastore オブジェクトの作成時に、名前と値のペアの引数を使用して TabularTextDatastore プロパティの値を指定できます。オブジェクトの作成後にプロパティの表示または変更を行うには、ドット表記を使用します。

ds = tabularTextDatastore("airlinesmall.csv");
ds.TreatAsMissing = "NA";
ds.MissingValue = 0;

ファイル プロパティ

データストアに含まれるファイル。文字ベクトルの cell 配列または string 配列として解決されます。各文字ベクトルまたは string はファイルへの絶対パスです。関数 tabularTextDatastore および関数 datastorelocation 引数がこれらのファイルを定義します。

Files プロパティで最初に指定するファイルは、データストアのすべてのファイルに対する変数名と形式の情報を決定します。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

例: {"C:\dir\data\mydata1.csv";"C:\dir\data\mydata2.csv"}

データ型: cell | string

ファイルのエンコード。次の値のいずれかのような文字ベクトルまたは string スカラーとして指定します。

"IBM866"

"ISO-8859-1"

"windows-847"

"KOI8-R"

"ISO-8859-2"

"windows-1250"

"KOI8-U"

"ISO-8859-3"

"windows-1251"

"Macintosh"

"ISO-8859-4"

"windows-1252"

"US-ASCII"

"ISO-8859-5"

"windows-1253"

"UTF-8"

"ISO-8859-6"

"windows-1254"

 

"ISO-8859-7"

"windows-1255"

 

"ISO-8859-8"

"windows-1256"

 

"ISO-8859-9"

"windows-1257"

 

"ISO-8859-11"

"windows-1258"

 

"ISO-8859-13"

 
 

"ISO-8859-15"

 

データストア内の各ファイルがメモリに収まる場合、FileEncoding は次の値のいずれかにすることもできます。

"Big5"

"EUC-KR"

"GB18030"

"Shift_JIS"

"Big5-HKSCS"

"EUC-JP"

"GB2312"

"windows-949"

"CP949"

"EUC-TW"

"GBK"

 

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

データ型: char | string

変数名の読み取り。logical true または logical false として指定します。

  • 指定しない場合、関数 tabularTextDatastore は変数名の有無を自動的に検出します。

  • true の場合、最初のファイルの最初の非ヘッダー行がそのデータの変数名を決定します。

  • false の場合、最初のファイルの最初の非ヘッダー行にそのデータの 1 行目が含まれます。データには既定の変数名が Var1Var2 などと順に割り当てられます。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

データ型: logical

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

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

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

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

データ型: char | string

データストア内の変数名。文字ベクトルの cell 配列または string 配列として指定します。ファイルに表示される順序で変数名を指定します。変数名を指定しない場合は、データストアの最初のファイルの最初の非ヘッダー行から検出されます。VariableNames プロパティを変更する場合、新しい変数名の数は、元の変数名の数と一致しなければなりません。

スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule パラメーターの値を "preserve" に設定します。

ReadVariableNamesfalse の場合、VariableNames は既定値の {"Var1","Var2", ...} になります。

例: {"Time","Name","Quantity"}

データ型: cell | string

テキスト形式のプロパティ

ファイルの先頭からスキップする行数。非負の整数として指定します。指定しない場合、関数 tabularTextDatastore はスキップする行数を自動的に検出します。

関数 tabularTextDatastore は、指定したヘッダーの行数を無視してから、変数名またはデータを読み取ります。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

データ型: double

フィールドの区切り記号。文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として指定します。複数の区切り記号は、文字ベクトルの cell 配列または string 配列で指定します。指定しない場合、関数 tabularTextDatastore は区切り記号を自動的に検出します。

例: "|"

例: {";","*"}

ファイル内で連続する区切り文字を、それらの間に空のフィールドをもつ個別の区切り記号として解釈します。指定しない場合、既定で読み取り関数が自動的に区切り記号を検出します。

次のエスケープ シーケンスの 1 つを区切り記号として指定した場合、そのシーケンスを対応する制御文字に変換します。

\bバックスペース
\n改行
\rキャリッジ リターン
\tタブ
\\バックスラッシュ (\)

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

データ型: char | cell | string

行区切り記号文字。文字ベクトルまたは string スカラーとして指定します。これは単一の文字か、"\r""\n" または "\r\n" のいずれかでなければなりません。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

例: ":"

データ型: char | string

欠損値として処理するテキスト。単一の文字ベクトル、文字ベクトルの cell 配列、string スカラーまたは string 配列として指定します。TreatAsMissing として指定された値には、MissingValue プロパティで定義された値が代入されます。たとえば、MissingValueNaN として定義され、TreatAsMissing"NA" として定義されたとします。その場合、インポートされたデータ内にあるすべての "NA"NaN に置き換えられます。

このオプションは数値フィールドのみに適用されます。また、このプロパティは、関数 textscan の名前と値のペア引数 TreatAsEmpty と等価です。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

例: "NA"

例: {"-",""}

データ型: char | cell | string

区切りテキスト ファイル内の欠損値フィールドの値。スカラーとして指定します。このプロパティは、関数 textscan の名前と値のペア引数 EmptyValue と等価です。

データ型: double

高度なテキスト形式のプロパティ

データ フィールドの形式。文字ベクトルの cell 配列または string 配列として指定します。各文字ベクトルまたは string は 1 つの変換指定子を含みます。

TextscanFormats プロパティを指定または変更する場合、関数 textscanformatSpec 引数に対して受け入れるものと同じ変換指定子を使用できます。TextscanFormats の有効値には、アスタリスク (*) 文字を使用してフィールドをスキップする変換指定子と、リテラル テキストをスキップする変換指定子が含まれます。変換指定子の数は、VariableNames プロパティ内の変数の数と一致しなければなりません。

  • TextscanFormats の値にアスタリスク文字 (*) を使用してフィールドをスキップする変換指定子が含まれる場合、SelectedVariableNames プロパティの値は自動的に更新されます。MATLAB は %*q 変換指定子を使用して SelectedVariableNames プロパティで省略されたフィールドをスキップし、フィールドの内容をリテラル文字ベクトルとして処理します。固定幅のファイルについては、適切な変換指定子をフィールド幅と共に使用してスキップするフィールドを指定します。たとえば、%*52c は 52 文字を含むフィールドをスキップします。

  • TextscanFormats に値を指定しない場合、datastore は、データストアにある最初のファイルの最初の非ヘッダー行からテキストをスキャンすることにより、データ フィールドの形式を決定します。

  • R2020b 以降、datastore は、接頭辞付きリテラルを 16 進数およびバイナリ データとして検出します。以前は、datastore は接頭辞付きリテラルをテキスト データとして検出していました。

例: {"%s","%s","%f"}

データ型: cell | string

指数文字。文字ベクトルまたは string スカラーとして指定します。既定の指数文字は eEd および D です。

データ型: char | string

ファイル内のコメントを識別するために使用されるコメント文字。文字ベクトル、string スカラー、2 要素 string または cell 配列として指定します。

  • 文字ベクトルまたは string スカラーを指定すると、同じ行の以降のテキストはすべてコメントと解釈されます。たとえば、"CommentStyle","/*" では、同じ行の /* の後のすべてのテキストがコメントとして解釈されます。

  • 文字ベクトルを含む 2 要素 string ベクトルまたは 2 要素 cell 配列を指定すると、2 つの文字の間にあるすべてのテキストがコメントとして解釈されます。たとえば、"CommentStyle",{"/*", "*/"} では、"/*" から "*/" までのすべてのテキストがコメントとして解釈されます。

TabularTextDatastore から読み取る場合、関数 read は、各フィールドの先頭のみコメントをチェックします (フィールド内はコメント チェック対象外です)。

このプロパティ値を変更すると、関数 datastoreTabularTextDatastore のプロパティ値を再評価します。

例: "CommentStyle",{"/*", "*/"}

データ型: char | cell | string

空白文字。1 文字以上の文字ベクトルまたは string スカラーとして指定します。

次のエスケープ シーケンスの 1 つを空白文字として指定した場合、関数 datastore は、シーケンスを対応する制御文字に変換します。

\bバックスペース
\n改行
\rキャリッジ リターン
\tタブ
\\バックスラッシュ (\)

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

例: " \b\t"

データ型: char | string

複数の区切り記号の取り扱い。true または false のいずれかとして指定します。true の場合、datastore は連続した区切り記号を 1 つの区切り記号として扱います。区切り記号が空白で分けられて繰り返された場合も、1 つの区切り記号として扱われます。

このプロパティ値を変更すると、データストア関数は TabularTextDatastore のプロパティ値を再評価します。

previewreadreadall テーブルのプロパティ

ファイルから読み取る変数。文字ベクトルの cell 配列または string 配列として指定します。各文字ベクトルまたは string は 1 つの変数の名前を含みます。変数名は任意の順序で指定できます。

スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule パラメーターの値を "preserve" に設定します。

例: ["Var3","Var7","Var4"]

データ型: cell | string

選択した読み取り対象の変数の形式。文字ベクトルの cell 配列または string 配列として指定します。各文字ベクトルまたは string は 1 つの変換指定子を含みます。読み取り対象の変数は、SelectedVariableNames プロパティで指定されます。SelectedFormats 内の文字ベクトルまたは string の数は、読み取り対象の変数の数と一致しなければなりません。

関数 textscan が受け入れた変換指定子と同じ指定子を使用できます。これにはリテラル テキストをスキップする指定子が含まれます。ただし、フィールドをスキップする変換指定子は使用できません。つまり、変換指定子にアスタリスク文字 (*) を含めることはできません。

例: ["%d","%d"]

データ型: cell | string

関数 read の 1 回の呼び出しで読み取るデータの量。正のスカラーまたは "file" として指定します。

  • ReadSize が正の整数の場合、read へのそれぞれの呼び出しは最大で ReadSize の行数を読み取ります。

  • ReadSize"file" の場合、read を呼び出すたびに、1 つのファイルにあるすべてのデータが読み取られます。

ReadSize を数値スカラーから "file" に変更したり、その逆の変更を行うと、MATLAB はデータストアをデータの読み取り前の状態にリセットします。

データ型: double | char | string

テキスト変数の出力データ型。"char" または "string" として指定します。TextType は、%s%q または [...] で書式設定されたテキスト変数のデータ型を指定します。

  • TextType"char" の場合、出力は文字ベクトルの cell 配列です。

  • TextType"string" の場合、出力の型は string です。

データ型: char | string

行時間変数の名前。"RowTimes" と変数名 ("Date" など) または変数インデックス (3 など) で構成される名前と値の引数として指定します。

RowTimes は timetable に関連するパラメーターです。timetable の各行は、timetable の時間ベクトルに記録されている時間に関連付けられます。RowTimes 内に指定される変数は、datetime ベクトルまたは duration ベクトルを含まなければなりません。

"OutputType" の値が "timetable" だが "RowTimes" を指定しない場合、TabularTextDatastore は、最初の datetime 変数または duration 変数を timetable の行時間として使用します。

writeall で使用するプロパティ

この プロパティ は読み取り専用です。

データストアの作成に使用するフォルダー。文字ベクトルの cell 配列として返されます。cell 配列は列ベクトルとして方向付けされます。各文字ベクトルは、データ ファイルを含むフォルダーへのパスです。関数 tabularTextDatastore および関数 datastorelocation 引数は、データストアの作成時に Folders を定義します。

TabularTextDatastore オブジェクトの Files プロパティを変更すると、Folders プロパティがリセットされます。

データ型: cell

この プロパティ は読み取り専用です。

書き込みでサポートされる形式。string の行ベクトルとして返されます。このプロパティは、writeall を使用してデータストアから出力ファイルを書き込む際に使用可能な出力形式を指定します。

この プロパティ は読み取り専用です。

既定の出力形式。string スカラーとして返されます。このプロパティは、writeall を使用してデータストアから出力ファイルを書き込む際の既定の形式を指定します。

データ型: string

オブジェクト関数

hasdataデータが読み取り可能かどうかを判別
numpartitionsデータストアの区画数
partitionデータストアを分割する
previewデータストア内のデータのサブセットをプレビュー
readデータストアのデータの読み取り
readallデータストアのすべてのデータの読み取り
writeallファイルへのデータストアの書き込み
resetデータストアの初期状態へのリセット
transformデータストアの変換
combine複数のデータストアのデータを統合
isPartitionableデータストアが分割可能かどうかを判別
isSubsettableDetermine whether datastore is subsettable
isShuffleableデータストアがシャッフル可能かどうかを判別

すべて折りたたむ

FileSet オブジェクトまたはファイル パスを使用して、サンプル ファイル airlinesmall.csv. からデータストアを作成します。欠損値を扱う方法を指定します。対象の変数のみを選択します。

ファイル airlinesmall.csv から FileSet オブジェクトを作成します。値が "NA" の場合は欠損として扱い、欠損値を 0 として扱うデータストアを作成します。

fs = matlab.io.datastore.FileSet("airlinesmall.csv");
ds = tabularTextDatastore(fs,"TreatAsMissing","NA",...
    "MissingValue",0);

データストア内の変数を表示します。

ds.VariableNames
ans = 1x29 cell
    {'Year'}    {'Month'}    {'DayofMonth'}    {'DayOfWeek'}    {'DepTime'}    {'CRSDepTime'}    {'ArrTime'}    {'CRSArrTime'}    {'UniqueCarrier'}    {'FlightNum'}    {'TailNum'}    {'ActualElapsedTime'}    {'CRSElapsedTime'}    {'AirTime'}    {'ArrDelay'}    {'DepDelay'}    {'Origin'}    {'Dest'}    {'Distance'}    {'TaxiIn'}    {'TaxiOut'}    {'Cancelled'}    {'CancellationCode'}    {'Diverted'}    {'CarrierDelay'}    {'WeatherDelay'}    {'NASDelay'}    {'SecurityDelay'}    {'LateAircraftDelay'}

SelectedVariableNames プロパティを変更して対象の変数を指定します。

ds.SelectedVariableNames = ["Year","Month","Cancelled"];

あるいは、データの場所をファイル パスとして指定することもできます。

ds = tabularTextDatastore("airlinesmall.csv");

いずれかの場所の形式を使用して、対象の変数をデータストアの作成時に指定することもできます。

ds = tabularTextDatastore("airlinesmall.csv","TreatAsMissing","NA",...
    "MissingValue",0,"SelectedVariableNames",["Year","Month","Cancelled"]);

表形式データが格納されたサンプル ファイル airlinesmall.csv からデータストアを作成します。

ds = tabularTextDatastore("airlinesmall.csv","TreatAsMissing","NA",...
    "MissingValue",0);

対象の変数を指定します。

ds.SelectedVariableNames = ["Year","Month","UniqueCarrier"];

SelectedFormats プロパティを表示します。

ds.SelectedFormats
ans = 1x3 cell
    {'%f'}    {'%f'}    {'%q'}

SelectedFormats プロパティは、関数 tabularTextDatastore による変数の形式の解釈方法を指定します。変数 Year および Month は浮動小数点値の列として読み取られ、変数 UniqueCarrier はテキストの列として読み取られます。

SelectedFormats プロパティを変更して、最初の 2 つの変数を符号付き整数として読み取り、3 番目の変数を categorical 値として読み取ります。

ds.SelectedFormats = ["%d","%d","%C"];

データをプレビューします。

T = preview(ds)
T=8×3 table
    Year    Month    UniqueCarrier
    ____    _____    _____________

    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      
    1987     10           PS      

OutputType および RowTimes の名前と値のペアを使用して、tabulartextDatastore から table ではなく timetable が返されるようにします。

outages.csv のデータストアを作成します。名前と値のペア "OutputType" を "timetable" として指定します。

ttds = tabularTextDatastore("outages.csv","OutputType","timetable");
preview(ttds)
ans=8×5 timetable
       OutageTime          Region         Loss     Customers     RestorationTime            Cause       
    ________________    _____________    ______    __________    ________________    ___________________

    2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }
    2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }
    2003-06-18 02:49    {'West'     }         0             0    2003-06-18 10:54    {'attack'         }
    2004-06-20 14:39    {'West'     }    231.29           NaN    2004-06-20 19:16    {'equipment fault'}
    2002-06-06 19:28    {'West'     }    311.86           NaN    2002-06-07 00:51    {'equipment fault'}

'RowTimes' を併せて指定しない場合、tabularTextDatastore は、最初の datetime 変数または duration 変数を行時間として使用します。この場合は、変数 OutageTime が行時間に使用されます。

'RowTimes' オプションを指定して、停電時刻ではなく復旧時刻 (変数 RestorationTime) を行時間として使用します。

ttds = tabularTextDatastore("outages.csv","OutputType","timetable","RowTimes","RestorationTime");
preview(ttds)
ans=8×5 timetable
    RestorationTime        Region           OutageTime        Loss     Customers            Cause       
    ________________    _____________    ________________    ______    __________    ___________________

    2002-02-07 16:50    {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    {'winter storm'   }
    NaT                 {'SouthEast'}    2003-01-23 00:49    530.14    2.1204e+05    {'winter storm'   }
    2003-02-17 08:14    {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    {'winter storm'   }
    2004-04-06 06:10    {'West'     }    2004-04-06 05:44    434.81    3.4037e+05    {'equipment fault'}
    2002-03-18 23:23    {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    {'severe storm'   }
    2003-06-18 10:54    {'West'     }    2003-06-18 02:49         0             0    {'attack'         }
    2004-06-20 19:16    {'West'     }    2004-06-20 14:39    231.29           NaN    {'equipment fault'}
    2002-06-07 00:51    {'West'     }    2002-06-06 19:28    311.86           NaN    {'equipment fault'}

制限

  • en_US ロケール以外の言語で日、月、またはタイム ゾーンの名前を含む datetime データはサポートされません。認識されない datetime 形式の場合は、TextscanFormats パラメーターを使用して形式を指定します。

バージョン履歴

R2014b で導入