Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

detectImportOptions

ファイルの内容に基づくインポート オプションの作成

説明

opts = detectImportOptions(filename) は、ファイル内のテーブルを検索し、そのインポート オプションを返します。オプション オブジェクトを変更し、それを readtable とともに使用して、MATLAB® がテーブル データをインポートする方法を制御できます。返されるオプションのタイプは、ファイル拡張子によって決まります。たとえば、filename がスプレッドシート ファイルの場合、関数は SpreadsheetImportOptions オブジェクトを返します。ただし、filename がテキスト ファイルの場合、関数は DelimitedTextImportOptions オブジェクトまたは FixedWidthImportOptions オブジェクトを返し、filename が XML ファイルの場合、XMLImportOptions オブジェクトを返します。

opts = detectImportOptions(filename,Name,Value) は、1 つ以上の Name,Value ペアの引数によって指定された追加パラメーターを使用して、ファイル内のテーブルを検索します。

すべて折りたたむ

スプレッドシート ファイルのインポート オプションを検出し、インポートする変数を指定してから、データを読み取ります。

ファイルからインポート オプション オブジェクトを作成します。

opts = detectImportOptions('patients.xls')
opts = 
  SpreadsheetImportOptions with properties:

   Sheet Properties:
                        Sheet: ''

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
                VariableTypes: {'char', 'char', 'double' ... and 7 more}
        SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
              VariableOptions: Show all 10 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Range Properties:
                    DataRange: 'A2' (Start Cell)
           VariableNamesRange: 'A1'
                RowNamesRange: ''
           VariableUnitsRange: ''
    VariableDescriptionsRange: '' 
	To display a preview of the table, use preview

オプション オブジェクトを変更してインポートする変数を指定します。

opts.SelectedVariableNames = {'Systolic','Diastolic'};

readtable をオプション オブジェクトと共に使用して、指定した変数をインポートします。

T = readtable('patients.xls',opts);
summary(T)
Variables:

    Systolic: 100x1 double

        Values:

            Min         109   
            Median      122   
            Max         138   

    Diastolic: 100x1 double

        Values:

            Min           68  
            Median      81.5  
            Max           99  

インポート オプションを作成し、複数の変数に対しデータ型を適用してから、データを読み取ります。

テキスト ファイルからインポート オプション オブジェクトを作成します。

opts = detectImportOptions('airlinesmall.csv')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'ISO-8859-1'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
                VariableTypes: {'double', 'double', 'double' ... and 26 more}
        SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
              VariableOptions: Show all 29 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [2 Inf]
            VariableNamesLine: 1
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

変数 TaxiIn と変数 TaxiOutType プロパティを確認します。

getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 
  1x2 TextVariableImportOptions array with properties:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

変数 TaxiInTaxiOut の型を double に変更します。

 opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');

インポートして確認する変数のサブセットを指定します。

opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

関数 readtable をオプション オブジェクトと共に使用して、選択した変数をインポートします。テーブルの概要を表示します。

T = readtable('airlinesmall.csv',opts);
summary(T)
Variables:

    TaxiIn: 123523x1 double

        Values:

            Min             0      
            Median          5      
            Max             1451   
            NumMissing      37383  

    TaxiOut: 123523x1 double

        Values:

            Min             0      
            Median          13     
            Max             755    
            NumMissing      37364  

インポート オプションを指定して、テキスト データを string データ型としてインポートします。

ファイルのオプション オブジェクトを作成します。

opts = detectImportOptions('outages.csv');

インポートする変数を readtable を使って指定してから、概要を表示します。選択された変数のデータ型は char です。

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 cell array of character vectors

    Cause: 1468x1 cell array of character vectors

テキスト データを string データ型としてインポートしてから、名前と値のペア TextType を指定してインポート オプションを作成します。

opts = detectImportOptions('outages.csv','TextType','string');

インポートする変数を readtable を使って指定してから、概要を表示します。ここで、選択された変数のデータ型は string です。

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 string

    Cause: 1468x1 string

名前と値の引数 RegisteredNamespaces を使用して、入力ファイルの既存の名前空間 URL にカスタムの XML 名前空間接頭辞を登録します。

XML ファイルから XMLImportOptions オブジェクトを作成します。'VariableSelectors' の値として Street 要素ノードの XPath 式を指定し、接頭辞 myPrefixStreet ノードに属する URL に登録します。

opts = detectImportOptions("students.xml","RegisteredNamespaces", ["myPrefix","https://www.mathworks.com"],...
    "VariableSelectors","//myPrefix:Street")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   Variable Import Properties: Set types by name using setvartype
                   VariableNames: "Street"
                   VariableTypes: "string"
           SelectedVariableNames: "Street"
                 VariableOptions: Show all 1 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
              VariableNamingRule: "preserve"

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//myPrefix:Street"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: ["myPrefix"    "https://www.mathworks.com"]

関数 readtable をオプション オブジェクトと共に使用して、選択した変数をインポートします。

T2 = readtable("students.xml",opts)
T2=7×1 table
          Street       
    ___________________

    "591 Spring Lane"  
    "4641 Pearl Street"
    "30 Highland Road" 
    "3388 Moore Avenue"
    "3388 Moore Avenue"
    "22 Angie Drive"   
    "65 Decatur Lane"  

入力引数

すべて折りたたむ

読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。

ファイルの場所によって、filename は次のいずれかの形式をとります。

場所

形式

現在のフォルダー、または MATLAB パス上のフォルダー

ファイル名を filename で指定します。

例: 'myFile.txt'

フォルダー内のファイル

ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、filename に絶対パス名または相対パス名を指定します。

例: 'C:\myFolder\myFile.xlsx'

例: '\imgDir\myFile.txt'

インターネット URL

ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、filename には 'http://' または 'https://' のプロトコル タイプが含まれていなければなりません。

例: 'http://hostname/path_to_file/my_data.csv'

リモートの場所

リモートの場所に保存されたファイルの場合、filename は次の形式で指定されたファイルの絶対パスを含まなければなりません。

scheme_name://path_to_file/my_file.ext

リモートの場所に基づいて、scheme_name には次の表の値のいずれかを指定できます。

リモートの場所scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

詳細については、リモート データの操作を参照してください。

例: 's3://bucketname/path_to_file/my_file.csv'

filename にファイル拡張子が含まれる場合、detectImportOptions は拡張子からファイル形式を判別します。それ以外の場合は、'FileType' の名前と値のペアを指定してファイルの種類を指定しなければなりません。

関数 detectImportOptions は、.txt.dat.csv.xls.xlsb.xlsm.xlsx.xltm.xltx.ods および .xml の各ファイル拡張子をサポートしています。

メモ

ファイル拡張子 .xlsb.ods は、Excel® for Windows® を備えたプラットフォームでのみサポートされます。

データ型: char | string

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'FileType','spreadsheet'
サポートされるすべてのファイルの種類

すべて折りたたむ

ファイルの種類。'FileType' と次の値のいずれかで構成されるコンマ区切りのペアとして指定します。

ファイルのインポート オプション
'spreadsheet'

SpreadsheetImportOptions オブジェクトを返します。

'text'

テキスト ファイルのレイアウトにより、DelimitedTextImportOptions オブジェクトまたは FixedWidthImportOptions オブジェクトを返します。

'delimitedtext'

DelimitedTextImportOptions オブジェクトを返します。このオプションは、列が区切り文字で区切られているテキスト ファイルに使用します。

'fixedwidth'

FixedWidthImportOptions オブジェクトを返します。このオプションは、固定幅の列をもつテキスト ファイルに使用します。

'xml'

XMLImportOptions オブジェクトを返します。このオプションは、XML ファイルに使用します。

filename にファイル拡張子が含まれない場合、または次の拡張子以外の場合は、名前と値のペアの引数 'FileType' を使用します。

  • テキスト ファイルの場合、.txt.dat または .csv

  • スプレッドシート ファイルの場合、.xls.xlsb.xlsm.xlsx.xltm, .xltx または .ods

  • XML ファイルの場合、.xml

ファイル拡張子 .xlsb.ods は、Excel for Windows を備えたプラットフォームでのみサポートされます。

例: 'FileType','text'

データ型: char | string

インポートされるテキスト データの型。'TextType''char' または 'string' で構成されるコンマ区切りのペアとして指定します。

  • 'char' — テキスト データを文字ベクトルとして MATLAB にインポートします。

  • 'string' — テキスト データを string 配列として MATLAB にインポートします。

例: 'TextType','char'

インポートされる日付と時刻のデータの型。'DatetimeType' と、'datetime''text''exceldatenum' のいずれかの値で構成されるコンマ区切りのペアとして指定します。値 'exceldatenum' はスプレッドシート ファイルのみに適用され、テキスト ファイルに対しては有効ではありません。

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

MATLAB の datetime データ型

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

'text'

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

  • 'TextType''char' に設定されている場合、インポート関数は日付を文字ベクトルの cell 配列として返します。

  • 'TextType''string' に設定されている場合、インポート関数は日付を string の配列として返します。

'exceldatenum'

Excel のシリアル日付値

シリアル日付値は、指定された基準日からの日数に等しい単一の数値です。Excel のシリアル日付値では MATLAB のシリアル日付値とは異なる基準日が使用されています。Excel の日付の詳細については、https://support.microsoft.com/en-us/kb/214330 を参照してください。

データ型: char | string

最初の行を変数名として読み取るかどうかを示すインジケーター。'ReadVariableNames' と、true または false で構成されるコンマ区切りのペアとして指定します。指定しない場合、readtable は変数名の有無を自動的に検出します。

インジケーター

説明

true

読み取る領域の最初の行にテーブルの変数名が含まれている場合に使用します。readtable は、検出した変数名を使用して T の各列に変数を作成します。

false

読み取る領域の最初の行にテーブルのデータが含まれている場合に使用します。readtable は、'Var1',...,'VarN' の形式で既定の変数名を作成します。ここで、N は変数の数です。

指定なし 指定しない場合、インポート関数は true または false を自動的に検出し、それに応じて続行します。

データ型: logical

変数名を保持するかどうかのフラグ。VariableNamingRule と、'modify' または 'preserve' のいずれかで構成されるコンマ区切りのペアとして指定します。

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

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

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

データ型: char | string

最初の列を行名として読み取るかどうかを示すインジケーター。'ReadRowNames' と、false または true で構成されるコンマ区切りのペアとして指定します。

インジケーター

説明

false

読み取る領域の最初の列にテーブルの行名ではなくデータが含まれている場合に使用します。

true

読み取る領域の最初の列にテーブルの行名が含まれている場合に使用します。

指定なし指定のない場合、インポート関数は false と見なします。

データ型: logical

欠損データを管理する方法。次の表のいずれかの値として指定します。

欠損ルール動作
'fill'

欠損データを FillValue プロパティの内容に置き換えます。

FillValue プロパティは、インポートされる変数の VariableImportOptions オブジェクトで指定されます。FillValue プロパティへのアクセスの詳細については、getvaropts を参照してください。

'error'インポートを停止し、欠損しているレコードとフィールドを示すエラー メッセージを表示します。
'omitrow'欠損データを含む行を除外します。
'omitvar'欠損データを含む変数を除外します。

例: opts.MissingRule = 'omitrow';

データ型: char | string

インポート エラーを処理する方法。次の表のいずれかの値として指定します。

インポート エラー ルール動作
'fill'

エラーが発生したデータを FillValue プロパティの内容に置き換えます。

FillValue プロパティは、インポートされる変数の VariableImportOptions オブジェクトで指定されます。FillValue プロパティへのアクセスの詳細については、getvaropts を参照してください。

'error'インポートを停止し、エラーの原因となるレコードとフィールドを示すエラー メッセージを表示します。
'omitrow'エラーが発生した行を除外します。
'omitvar'エラーが発生した変数を除外します。

例: opts.ImportErrorRule = 'omitvar';

データ型: char | string

テキスト ファイルとスプレッドシート ファイル

すべて折りたたむ

必要な変数の数。'ExpectedNumVariables' と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、変数の数はインポート関数により自動検出されます。

データ型: single | double

ファイルのヘッダーの行数。'NumHeaderLines' と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、ファイル ヘッダーの行数はインポート関数により自動検出されます。

例: 'NumHeaderLines',7

データ型: single | double

テキストまたはスプレッドシート ファイルから読み取るデータの部分。'Range' と、次のいずれかの形式をとる文字ベクトル、string スカラー、または数値ベクトルで構成されるコンマ区切りのペアとして指定します。

Range の指定方法説明

開始セル

'Cell' または [row col]

文字ベクトル、string スカラー、または 2 要素数値ベクトルとして、データの開始セルを指定します。

  • Excel の A1 表記法を使用した列の文字および行番号を含む文字ベクトルまたは string スカラー。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

  • 開始行と開始列を示す [row col] 形式の 2 要素数値ベクトル。

開始セルを使用して、インポート関数は、インポートを開始セルで開始し、最後の空の行またはフッター範囲で終了することで、データの範囲を自動的に検出します。

例: 'A5' または [5 1]

四角形の範囲

'Corner1:Corner2' または [r1 c1 r2 c2]

次の四角形の範囲フォームのいずれかを使用して、読み取る範囲を正確に指定します。

  • 'Corner1:Corner2' — 読み取る領域を定義する 2 つの対角 Corner1 および Corner2 (Excel の A1 表記法) を使用して範囲を指定します。たとえば、'C2:N15' のようになります。

  • [r1 c1 r2 c2] — 開始行、開始列、終了行および終了列を含む 4 要素数値ベクトルを使用して範囲を指定します。たとえば、[2 3 15 13] のようになります。

インポート関数は、指定された範囲内に含まれるデータのみを読み取ります。指定された範囲内の空のフィールドは欠損セルとしてインポートされます。

行範囲または列範囲

'Row1:Row2' または 'Column1:Column2'

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

インポート関数は、指定された行範囲を使用して、最初の空でない列からデータの最後まで読み取ることにより、列の範囲を自動的に検出し、列ごとに 1 つの変数を作成します。

例: '5:500'

あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。

インポート関数は、指定された列範囲を使用して、最初の空でない行からデータの最後またはフッター範囲まで読み取ることにより、行の範囲を自動的に検出します。

指定された範囲の列数は ExpectedNumVariables プロパティで指定された数と一致しなければなりません。

例: 'A:K'

開始行番号

n

正のスカラー行インデックスを使用して、データを含む最初の行を指定します。

インポート関数は、指定された行インデックスを使用して、指定された最初の行からデータの最後またはフッター範囲まで読み取ることにより、データの範囲を自動的に検出します。

例: 5

Excel の名前付き範囲

'NamedRange'

Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 'myTable' という名前を付けることができます。スプレッドシート内にそのような名前付き範囲が存在する場合、インポート関数はその名前を使用して範囲を読み取ることができます。

例: 'Range','myTable'

指定なしまたは空

''

指定しない場合、使用範囲はインポート関数により自動検出されます。

例: 'Range',''

メモ: "使用範囲" とは、スプレッドシート内で実際にデータが含まれている四角形部分を指します。インポート関数は、データを含まない先頭と末尾の行と列をすべてトリミングして、使用範囲を自動的に検出します。空白のみのテキストはデータと見なされ、使用範囲内に取得されます。

データ型: char | string | double

スプレッドシート ファイル専用のパラメーター

すべて折りたたむ

読み取り元のシート。空の文字配列、シート名を含む文字ベクトルまたは string スカラー、あるいはシート インデックスを示す正の整数スカラーとして指定します。インポート関数は Sheet プロパティに指定された値に基づいて、表に説明されているように動作します。

指定動作
'' (既定)1 番目のシートからデータをインポートします。
名前スプレッドシート ファイル内のシートの順序に関係なく、一致する名前のシートからデータをインポートします。
整数スプレッドシート ファイル内のシート名に関係なく、整数で示された位置にあるシートからデータをインポートします。

データ型: char | string | single | double

インポートするデータの場所。文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、正のスカラー整数、または N2 列の正のスカラー整数の配列として指定します。これらの形式の 1 つを使用して DataRange を指定します。

指定方法動作

'Cell' または n

開始するセルまたは開始する行

Excel の A1 表記法を使用して、データの開始セルを指定します。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

開始セルを使用して、インポート関数は、インポートを開始セルで開始し、最後の空の行またはフッター範囲で終了することで、データの範囲を自動的に検出します。

あるいは、正のスカラー行インデックスを使用して、データを含む最初の行を指定します。

インポート関数は、指定された行インデックスを使用して、指定された最初の行からデータの最後またはフッター範囲まで読み取ることにより、データの範囲を自動的に検出します。

例: 'A5' または 5

'Corner1:Corner2'

四角形の範囲

四角形の範囲フォームを使用して読み取る範囲を正確に指定します。Corner1Corner2 は読み取る範囲を定義する 2 つの対角です。

インポート関数は、指定された範囲内に含まれるデータのみを読み取ります。指定された範囲内の空のフィールドは欠損セルとしてインポートされます。

列数は NumVariables プロパティで指定された数と一致しなければなりません。

例: 'A5:K50'

'Row1:Row2' または 'Column1:Column2'

行範囲または列範囲

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

インポート関数は、指定された行範囲を使用して、最初の空でない列からデータの最後まで読み取ることにより、列の範囲を自動的に検出し、列ごとに 1 つの変数を作成します。

例: '5:500'

あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。

インポート関数は、指定された列範囲を使用して、最初の空でない行からデータの最後またはフッター範囲まで読み取ることにより、行の範囲を自動的に検出します。

指定された範囲の列数は NumVariables プロパティで指定された数と一致しなければなりません。

例: 'A:K'

[n1 n2; n3 n4;...]

複数の行範囲

"複数の行範囲" を指定して、N の異なる行範囲を含む N2 列の配列で読み取ります。

有効な複数の行範囲の配列は、次でなければなりません。

  • 行の範囲は昇順で指定する。すなわち、配列で指定された最初の行範囲は、他の行範囲より、ファイル内で先に出現する。

  • オーバーラップしない行範囲のみを含む。

Inf の使用は、複数の行範囲を指定する数値配列で最終行を示すためにのみサポートされます。たとえば、[1 3; 5 6; 8 Inf] とします。

例: [1 3; 5 6; 8 Inf]

''

指定なしまたは空

データを取得しません。

例: ''

データ型: char | string | cell | single | double

行名の位置。文字ベクトル、string スカラー、正のスカラー整数または空の文字配列として指定します。次の表のいずれかの値として RowNamesRange を指定します。

指定方法動作

'Cell'

Excel の A1 表記法を使用して、データの開始セルを指定します。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

インポート関数はデータ内の各変数の名前を識別します。

例: 'A5'

'Corner1:Corner2'

四角形の範囲

四角形の範囲フォームを使用して読み取る範囲を正確に指定します。Corner1Corner2 は読み取る範囲を定義する 2 つの対角です。

RowNamesRange に含まれる行数はデータの行数と一致しなければならず、RowNamesRange で示される範囲は 1 列のみでなければなりません。

例: 'A5:A50'

'Row1:Row2'

行範囲

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

行名は 1 列でなければなりません。

例: '5:50'

n

数値インデックス

正のスカラー列インデックスを使用して、行名を含む列を指定します。

例: 5

''

指定なしまたは空

行名がないことを示します。

例: ''

データ型: char | single | double

変数名の位置。文字ベクトル、string スカラー、正のスカラー整数または空の文字配列として指定します。次の表のいずれかの値として VariableNamesRange を指定します。

指定方法動作

'Cell'

Excel の A1 表記法を使用して、データの開始セルを指定します。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

インポート関数は、データ内の各変数の名前を読み取ります。

例: 'A5'

'Corner1:Corner2'

四角形の範囲

四角形の範囲フォームを使用して読み取る範囲を正確に指定します。Corner1Corner2 は読み取る範囲を定義する 2 つの対角です。

列数は NumVariables プロパティで指定された数と一致しなければならず、範囲は 1 行のみでなければなりません。

例: 'A5:K5'

'Row1:Row2'

行範囲

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

1 行でなければなりません。

例: '5:5'

n

数値インデックス

正のスカラー行インデックスを使用して、変数名を含む行を指定します。

例: 5

''

指定なしまたは空

変数名がないことを示します。

例: ''

データ型: char | single | double

変数の単位の位置。文字ベクトル、string スカラー、正のスカラー整数または空の文字配列として指定します。次の表のいずれかの値として VariableUnitsRange を指定します。

指定方法動作

'Cell'

Excel の A1 表記法を使用して、データの開始セルを指定します。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

インポート関数は、データ内の各変数の単位を読み取ります。

例: 'A5'

'Corner1:Corner2'

四角形の範囲

四角形の範囲フォームを使用して読み取る範囲を正確に指定します。Corner1Corner2 は読み取る範囲を定義する 2 つの対角です。

列数は NumVariables プロパティで指定された数と一致しなければならず、範囲は 1 行のみでなければなりません。

例: 'A5:K5'

'Row1:Row2'

行範囲

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

1 行でなければなりません。

例: '5:5'

n

数値インデックス

正のスカラー行インデックスを使用して、データ単位を含む行を指定します。

例: 5

''

指定なしまたは空

変数の単位がないことを示します。

例: ''

データ型: char | string | single | double

変数の説明の位置。文字ベクトル、string スカラー、正のスカラー整数または空の文字配列として指定します。次の表のいずれかの値として VariableDescriptionRange を指定します。

指定方法動作

'Cell'

Excel の A1 表記法を使用して、データの開始セルを指定します。たとえば、A5 は列 A と行 5 が交わる場所にあるセルの識別子です。

インポート関数は、データ内の各変数の説明を読み取ります。

例: 'A5'

'Corner1:Corner2'

四角形の範囲

四角形の範囲フォームを使用して読み取る範囲を正確に指定します。Corner1Corner2 は読み取る範囲を定義する 2 つの対角です。

列数は NumVariables プロパティで指定された数と一致しなければならず、範囲は 1 行のみでなければなりません。

例: 'A5:K5'

'Row1:Row2'

行範囲

Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。

1 行でなければなりません。

例: '5:5'

n

数値インデックス

正のスカラー行インデックスを使用して、説明を含む行を指定します。

例: 5

''

指定なしまたは空

変数の説明がないことを示します。

例: ''

データ型: char | string | single | double

テキスト ファイル専用のパラメーター

すべて折りたたむ

区切りテキスト ファイル内のフィールドの区切り記号。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

例: 'Delimiter','|'

例: 'Delimiter',{';','*'}

データ型: char | string | cell

区切りテキスト ファイル内の先頭の区切り記号を管理する方法。次の表の値のいずれかとして指定します。

先頭の区切り記号のルール動作
'keep'区切り記号を維持します。
'ignore'区切り記号を無視します。
'error'エラーを返し、インポート操作を中止します。

区切りテキスト ファイル内の末尾の区切り記号を管理する方法。次の表の値のいずれかとして指定します。

先頭の区切り記号のルール動作
'keep'区切り記号を維持します。
'ignore'区切り記号を無視します。
'error'エラーを返し、インポート操作を中止します。

区切りテキスト ファイル内の連続する区切り記号を処理する方法。次の表の値のいずれかとして指定します。

連続する区切り記号のルール動作
'split'連続する区切り記号を複数のフィールドに分割します。
'join'複数の区切り記号を結合して 1 つの区切り記号にします。
'error'エラーを返し、インポート操作を中止します。

データ型: char | string

固定幅のテキスト ファイルにおける変数のフィールド幅。正の整数値のベクトルとして指定します。ベクトルの正の整数はそれぞれ、フィールド内で変数を構成する文字数に対応します。VariableWidths プロパティには、VariableNames プロパティに指定された各変数に対応するエントリが含まれます。

空白として扱う文字。1 文字以上が含まれる文字ベクトルまたは string スカラーとして指定します。

例: 'Whitespace',' _'

例: 'Whitespace','?!.,'

行末の文字。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

例: 'LineEnding','\n'

例: 'LineEnding','\r\n'

例: 'LineEnding',{'\b',':'}

データ型: char | string | cell

ファイルに関連付けられた文字エンコード スキーム。'Encoding''system' で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。

エンコードを指定しない場合、関数は自動文字セット検出を使用して、ファイルの読み取り時にエンコードを判断します。

例: 'Encoding','system' はシステムの既定のエンコードを使用します。

データ型: char | string

コメントのスタイル。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

たとえば、パーセント記号に続く同じ行のテキストを無視するには、CommentStyle'%' に指定します。

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

データ型: char | string | cell

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

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

MATLAB の duration データ型

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

'text'

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

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

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

データ型: char | string

データ内の余分な列を処理する方法。次の表のいずれかの値として指定します。

余分な列のルール動作
'addvars'

余分な列をインポートするには、新しい変数を作成します。余分な列が N 列ある場合、新しい変数を 'ExtraVar1', 'ExtraVar2',..., 'ExtraVarN' としてインポートします。

メモ: 余分な列はデータ型が char のテキストとしてインポートされます。

'ignore'データの余分な列を無視します。
'wrap'データの余分な列を新しいレコードにラップします。このアクションで変数の数は変わりません。
'error'エラー メッセージを表示し、インポート操作を中止します。

データ型: char | string

欠損データとして解釈するテキスト。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

インポート関数は、欠損インスタンスを見つけると、MissingRule プロパティ内の指定を使用して、適切なアクションを決定します。

例: 'TreatAsMissing',{'NA','TBD'} は、インポート関数に NA または TBD のすべての出現を欠損フィールドとして処理するように指示します。

データ型: char | string | cell

日付を読み取るロケール。'DateLocale' と、xx_YY の形式の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。ここで、次のようになります。

  • YY は国を表す大文字の ISO 3166-1 alpha-2 コード

  • xx は言語を表す小文字 2 文字の ISO 639-1 コード

ロケールの一般的な値の一覧については、関数 datetimeLocale の名前と値のペア引数を参照してください。

%D 書式指定子を使用してテキストを datetime 値として読み取る場合、DateLocale を使用して、インポート関数が月と曜日の名前および略語を解釈するためのロケールを指定します。

インポート オプション opts に加えて引数 DateLocale を指定した場合、インポート関数は引数 DateLocale で指定された値を使用して、インポート オプションで定義されたロケールをオーバーライドします。

例: 'DateLocale','ja_JP'

数値変数内の 3 桁ごとの区切りを示す文字。文字ベクトルまたは string スカラーとして指定します。3 桁ごとの区切り文字は視覚的な区切りとして機能し、数値を 3 桁ごとにグループ化します。インポート関数は、ThousandsSeparator プロパティの文字を使用して、インポートされる数値を解釈します。

データ型: char | string

数値変数内の小数点の区切りを示す文字。文字ベクトルまたは string スカラーとして指定します。インポート関数は、DecimalSeparator プロパティを使用して、数値の整数部分と小数部分を区別します。

整数データ型に変換すると、小数部分をもつ数値は最も近い整数に丸められます。

データ型: char | string

非数値文字を数値変数から削除します。logical true または false として指定します。

データ型: logical

16 進数データの出力データ型。'HexType' と表にリストされているいずれかの値で構成されるコンマ区切りのペアとして指定します。

入力ファイルは 16 進数値をテキストで表します。接頭辞として 0x または 0X を使用し、数字として文字 09af、および AF を使用します (大文字と小文字は同じ数値を表します。たとえば、'0xf''0xF' はどちらも 15 を表します)。

インポート関数は、16 進数の値を、'HexType' の値で指定されたデータ型に変換します。

'HexType' の値

出力テーブル変数のデータ型

'auto'

自動的に検出されるデータ型

'text'

変更されない入力テキスト

'int8'

8 ビット整数、符号付き

'int16'

16 ビット整数、符号付き

'int32'

32 ビット整数、符号付き

'int64'

64 ビット整数、符号付き

'uint8'

8 ビット整数、符号なし

'uint16'

16 ビット整数、符号なし

'uint32'

32 ビット整数、符号なし

'uint64'

64 ビット整数、符号なし

例: 'HexType','uint16' は、16 進数値を表すテキスト ('0xFF') を出力テーブルの符号なし 16 ビット整数 (255 など) に変換します。

データ型: char | string

バイナリ データの出力データ型。'BinaryType' と表にリストされているいずれかの値で構成されるコンマ区切りのペアとして指定します。

入力ファイルはバイナリ値をテキストで表します。接頭辞として 0b または 0B を使用し、数字として文字 01 を使用します。

インポート関数は、バイナリ値を 'BinaryType' の値で指定されたデータ型に変換します。

'BinaryType' の値

出力テーブル変数のデータ型

'auto'

自動的に検出されるデータ型

'text'

変更されない入力テキスト

'int8'

8 ビット整数、符号付き

'int16'

16 ビット整数、符号付き

'int32'

32 ビット整数、符号付き

'int64'

64 ビット整数、符号付き

'uint8'

8 ビット整数、符号なし

'uint16'

16 ビット整数、符号なし

'uint32'

32 ビット整数、符号なし

'uint64'

64 ビット整数、符号なし

例: 'BinaryType','uint16' は、バイナリ値を表すテキスト ('0b11111111' など) を出力テーブルの符号なし 16 ビット整数 (255 など) に変換します。

データ型: char | string

XML ファイルのみ

すべて折りたたむ

属性のインポート。'ImportAttributes' と、1 (true) または 0 (false) のいずれかで構成されるコンマ区切りのペアとして指定します。false を指定すると、読み取り関数は入力ファイル内の XML 属性を出力 table に変数としてインポートしません。

例: 'ImportAttributes',false

属性接尾辞。'AttributeSuffix' と文字ベクトルまたは string スカラーのいずれかで構成されるコンマ区切りのペアとして指定します。この引数は、読み取り関数が入力 XML ファイルに含まれる属性に対応するすべての table 変数に付加する接尾辞を指定します。'AttributeSuffix' を指定しない場合、読み取り関数は既定で接尾辞 'Attribute' を入力 XML ファイルに含まれる属性に対応するすべての変数名に付加します。

例: 'AttributeSuffix','_att'

table 行の XML ノード名。'RowNodeName' と文字ベクトルまたは string スカラーのいずれかで構成されるコンマ区切りのペアとして指定します。この引数は、出力 table の行を区切る XML ノード名を指定します。

例: 'RowNodeName','XMLNodeName'

table 行の XPath 式。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して出力 table の個々の行を選択します。RowSelector には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'RowSelector','/RootNode/ChildNode'

table 変数の XML ノード名。'VariableNodeNames' と文字ベクトルの cell 配列または string 配列のいずれかで構成されるコンマ区切りのペアとして指定します。この引数は、読み取り関数が出力 table に変数として読み取る XML ノードを識別するために使用する XML ノード名を指定します。

例: 'VariableNodeNames',{'XMLNodeName1','XMLNodeName2'}

例: 'VariableNodeNames',"XMLNodeName"

例: 'VariableNodeNames',["XMLNodeName1","XMLNodeName2"]

table 変数の XPath 式。文字ベクトルの cell 配列または string 配列として指定します。読み取り関数は、これを使用して table 変数を選択します。VariableSelectors には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'VariableSelectors',{'/RootNode/ChildNode'}

例: 'VariableSelectors',"/RootNode/ChildNode"

例: 'VariableSelectors',["/RootNode/ChildNode1","/RootNode/ChildNode2"]

table の XML ノード名。'TableNodeName' と文字ベクトルまたは string スカラーのいずれかで構成されるコンマ区切りのペアとして指定します。この引数は、読み取り関数が table に読み取る入力構造体のノードを指定します。

例: 'TableNodeName','NodeName'

table データの XPath 式。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して出力 table のデータを選択します。TableSelector には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'TableSelector','/RootNode/ChildNode'

変数の単位の XPath。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して table 変数の単位を選択します。VariableUnitsSelector には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'VariableUnitsSelector','/RootNode/ChildNode'

変数の説明の XPath 式。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して table 変数の説明を選択します。VariableDescriptionsSelector には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'VariableDescriptionsSelector','/RootNode/ChildNode'

table 行の名前の XPath 式。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して table 行の名前を選択します。RowNamesSelector には有効な XPath Version 1.0 の式を指定しなければなりません。

例: 'RowNamesSelector','/RootNode/ChildNode'

table の特定の行における繰り返し XML ノードの処理方法。'addcol''ignore'、または 'error' として指定します。

繰り返しノードの規則

動作

'addcol'

table の変数ヘッダーの下に繰り返しノード用の列を追加します。'RepeatedNodeRule' の値を 'addcol' と指定しても、table に繰り返しノードに対する別個の変数は作成されません。

'ignore'

繰り返しノードはスキップしてインポートします。

'error'エラー メッセージを表示し、インポート操作を中止します。

例: 'RepeatedNodeRule','ignore'

登録済みの XML 名前空間接頭辞のセット。RegisteredNamespaces と接頭辞の配列で構成されるコンマ区切りのペアとして指定します。読み取り関数は、XML ファイルの XPath 式を評価する際にこれらの接頭辞を使用します。名前空間接頭辞とそれに関連付けられた URL を N 行 2 列の string 配列として指定します。RegisteredNamespaces は、readstructStructSelectorreadtablereadtimetableVariableSelectors など、セレクターの名前と値の引数で指定された XPath 式も評価する場合に使用できます。

既定では、読み取り関数は XPath の評価に使用する名前空間接頭辞を自動的に検出して登録しますが、名前と値の引数 RegisteredNamespaces を使用して新しい名前空間接頭辞を登録することもできます。新しい名前空間接頭辞の登録は、名前空間 URL がある XML ノードについて、XML ファイルで名前空間接頭辞が宣言されていない場合などに便利です。

たとえば、名前空間接頭辞が含まれていない example.xml という名前の XML ファイルの XPath 式を評価するとします。'RegisteredNamespaces'[“myprefix”, “https://www.mathworks.com”] と指定して、接頭辞 myprefix を URL https://www.mathworks.com に割り当てます。

T = readtable("example.xml", "VariableSelector", "/myprefix:Data",...
 "RegisteredNamespaces", [“myprefix”, “https://www.mathworks.com”])

例: 'RegisteredNamespaces',[“myprefix”, “https://www.mathworks.com”]

出力引数

すべて折りたたむ

指定されたファイルのインポート オプション。SpreadsheetImportOptions オブジェクト、DelimitedTextImportOptions オブジェクト、FixedWidthImportOptions オブジェクトまたは XMLImportOptions オブジェクトとして返されます。オプション オブジェクトのタイプは、指定したファイルの種類によって決まります。テキスト ファイル (.txt.dat または .csv) の場合、関数 detectImportOptionsDelimitedTextImportOptions オブジェクトまたは FixedWidthImportOptions オブジェクトを返します。スプレッドシート ファイル (.xls.xlsb.xlsm.xlsx.xltm.xltx または .ods) の場合、関数 detectImportOptionsSpreadsheetImportOptions オブジェクトを返します。XML ファイル (.xml) の場合、detectImportOptionsXMLImportOptions オブジェクトを返します。

ヒント

  • インポート オプション オブジェクト作成後のプロパティ値の更新: detecImportOptions で作成されたインポート オプション オブジェクトのプロパティをドット表記を使用して更新することは推奨されません。ドット表記を使用してプロパティを設定すると、MATLAB はファイルのすべてのインポート オプションを再検出するわけではありません。したがって、すべてのプロパティを更新して再検出するには、名前と値の引数を使用して新しい値を指定しなければなりません。たとえば、次のようにして、ConsecutiveDelimitersRule プロパティの値を更新してインポート オプションを再検出します。

    opts = detectImportOptions(__,'ConsecutiveDelimitersRule','join')

  • RowSelectorVariableSelector などの XPath セレクターの名前と値の引数では、次の XPath 構文がサポートされます。

    • ドキュメント内の場所に関係なく、選択するノードに名前が一致するすべてのノードを選択するには、"//myNode" 構文を使用します。"//myNode" を使用すると、XPath 式の選択するノードより前の部分を省略できます。

    • ファイル内の 1 つの親ノードの配下にあるいくつかの兄弟ノードの 1 つを読み取るには、ChildNode[n] を指定できます。ここで、n は、インデックスを付ける兄弟ノードに対応します。たとえば、パス "/RootNode/ChildNode[2]" は、親が RootNode である 2 つ目の ChildNode 要素を選択します。

    • 入力 XML ファイル内の、ある要素ノードに属する 1 つの属性の値を読み取るには、属性名の前に @ を指定します。たとえば、"/RootNode/ChildNode[2]/@AttributeName" は、親が RootNode である 2 つ目の ChildNode 要素に属する属性 AttributeName を選択します。

R2016b で導入