ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

テーブルのインポート オプションの定義

通常、関数 readtable を使用して table をインポートできます。ただし、表形式のデータをインポートするときに、インポート処理をさらに制御する必要がある場合があります。たとえば、インポートする変数の選択や、欠損データやエラーの原因となるデータを含む行の処理が必要になる場合があります。インポート処理を制御するために、インポート オプション オブジェクトを作成できます。このオブジェクトには、インポートの要件に基づいて調整できるプロパティがあります。

インポート オプションの作成

サンプルのデータセット airlinesmall.csv のインポート オプション オブジェクトを作成するには、関数 detectImportOptions を使用します。関数 detectImportOptions はこのテキスト ファイルの DelimitedTextImportOptions オブジェクトを作成します。インポート オプション オブジェクトのプロパティの完全な一覧は、detectImportOptionsのリファレンス ページを参照してください。

opts = detectImportOptions('airlinesmall.csv');

テーブル レベルのインポート オプションのカスタマイズ

インポート オプション オブジェクトには、調整することでインポート処理を制御できるプロパティがあります。table 全体に適用されるプロパティもあれば、特定の変数に適用されるプロパティもあります。table 全体に影響するプロパティには、エラーの原因となるデータや欠損データを管理するためのルールが含まれます。たとえば、ImportErrorRule'omitrow' に設定することにより、インポート エラーの原因となるデータをもつ行を削除します。MissingRule'fill' に設定することにより、欠損値を置換します。FillValue プロパティの値は欠損値を置換する値を決定します。たとえば、欠損値を NaN に置換できます。

opts.ImportErrorRule = 'omitrow';
opts.MissingRule = 'fill';

変数レベルのインポート オプションのカスタマイズ

特定の変数のオプションを取得および設定するには、関数 getvaroptssetvartype、および setvaropts を使用します。たとえば、関数 getvaropts を使用して、FlightNumOriginDest、および ArrDelay という名前の変数の現在のオプションを表示します。

getvaropts(opts,{'FlightNum','Origin','Dest','ArrDelay'});

変数のデータ型を変更するには関数 setvartype を使用します。

  • 変数 FlightNum の値は航空便の識別子であり、非数値であるため、データ型を char に変更します。

  • 変数 Origin と変数 Dest は、有限個の反復するテキスト値を指定するため、データ型を categorical に変更します。

 opts = setvartype(opts,{'FlightNum','Origin','Dest','ArrDelay'},...
                        {'char','categorical','categorical','single'});

その他のプロパティは、関数 setvaropts を使用して変更します。

  • 変数 FlightNum については、WhiteSpaceRule プロパティを trimleading に設定することにより、テキストから先頭の空白を削除します。

  • 変数 ArrDelay については、TreatAsMissing プロパティを設定することにより、0 または NA を含んだフィールドを FillValue プロパティで指定されている値に置き換えます。

 opts = setvaropts(opts,'FlightNum','WhitespaceRule','trimleading');
 opts = setvaropts(opts,'ArrDelay','TreatAsMissing',{'0','NA'});

テーブルのインポート

取得する変数を指定し、readtable を使用してインポートし、table の最初の 8 行を表示します。

opts.SelectedVariableNames = {'FlightNum','Origin','Dest','ArrDelay'}; 
T = readtable('airlinesmall.csv',opts);
T(1:8,:)
ans=8×4 table
    FlightNum    Origin    Dest    ArrDelay
    _________    ______    ____    ________

     '1503'       LAX      SJC         8   
     '1550'       SJC      BUR         8   
     '1589'       SAN      SMF        21   
     '1655'       BUR      SJC        13   
     '1702'       SMF      LAX         4   
     '1729'       LAX      SJC        59   
     '1763'       SAN      SFO         3   
     '1800'       SEA      LAX        11   

参考

| | | | | |

関連するトピック