Main Content

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

readtable

ファイルからのテーブルの作成

説明

T = readtable(filename) は、ファイルから列データを読み取ることによって table を作成します。

readtable は、ファイル拡張子からファイル形式を判定します。

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

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

  • 拡張マークアップ言語 (XML) の場合、.xml

  • Microsoft® Word ドキュメント ファイルの場合、.docx

  • ハイパーテキスト マークアップ言語 (HTML) ファイルの場合、.html.xhtml または .htm

テキスト ファイルおよびスプレッドシート ファイルの場合、readtable は、ファイルの列ごとに 1 つの変数を T に作成し、ファイルの最初の行から変数名を読み取ります。XML ファイルの場合、readtable は、table 変数として検出された要素ノードまたは属性ノードごとに 1 つの変数を T に作成します。変数の名前は要素および属性の名前に対応します。Microsoft Word ドキュメント ファイルの場合、readtable は、既定ではドキュメントの最初のテーブルからデータをインポートして、ファイルの列ごとに 1 つの変数を T に作成し、テーブルの最初の行から変数名を読み取ります。HTML ファイルの場合、readtable は、既定では最初の <TABLE> 要素からデータをインポートして、ファイルの列ごとに 1 つの変数を T に作成し、テーブルの最初の行から変数名を読み取ります。

既定では、readtable は、入力ファイルの各列で検出されたデータ値に適したデータ型をもつ変数を作成します。

T = readtable(filename,opts) は、インポート オプションの opts を使用して table を作成します。

T = readtable(___,Name,Value) は、1 つ以上の名前と値のペアの引数で指定された追加のオプションを使用して、ファイルから table を作成します。たとえば、readtable でファイルの最初の行を変数名として読み取るかデータとして読み取るかを指定することができます。

データ特有のインポート オプションを設定するには、opts オブジェクトを使用するか、名前と値のペアを指定できます。opts に加えて名前と値のペアを指定する場合、readtable がサポートするのは次の名前と値のペアのみです。

  • テキストおよびスプレッドシートのパラメーター — ReadVariableNamesReadRowNames

  • テキストのみのパラメーター — DateLocaleEncoding

  • スプレッドシートのみのパラメーター — SheetUseExcel

すべて折りたたむ

myCsvTable.dat ファイルをテキスト エディターに読み込み、その内容をプレビューします。スクリーン ショットを以下に示します。このファイルにはコンマ区切り列データが含まれています。

filename = 'myCsvTable.dat';

コンマ区切りのテキスト ファイルからテーブルを作成します。作成された table T にはファイルの列ごとに 1 つの変数が含まれ、readtable はファイルの最初の行のエントリを変数名として扱います。

T = readtable(filename)
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176        1   
    {'Johnson' }    {'M'}     43       69       163        0   
    {'Williams'}    {'F'}     38       64       131        0   
    {'Jones'   }    {'F'}     40       67       133        0   
    {'Brown'   }    {'F'}     49       64       119        0   

R2020a 以降、関数 readtable は、関数 detectImportOptions をファイルで自動的に呼び出すかのように入力ファイルを読み取ります。これはデータ型を検出し、余分なヘッダー行を破棄し、欠損値を埋めることができます。

たとえば、ファイル headersAndMissing.txt をテキスト エディターでプレビューします。このファイルには列名が含まれる行があり、別の行にはヘッダーが含まれます。前の行にはデータ値がありますが、最後の 2 行にはギャップがあります。

このファイルから table を作成します。関数 readtable は、ヘッダーを破棄します。また、適切な欠損値 (数値変数には NaN の値、テキストには空の文字ベクトル) をギャップに埋めます。

T = readtable('headersAndMissing.txt')
T=5×6 table
     LastName        Gender      Age    Height    Weight    Smoker
    ___________    __________    ___    ______    ______    ______

    {'Wu'     }    {'M'     }     38      71       176        1   
    {'Johnson'}    {'M'     }     43      69       163        0   
    {'Sanchez'}    {'F'     }     38      64       131        0   
    {'Brown'  }    {'F'     }    NaN      67       133        0   
    {'Picard' }    {0x0 char}    NaN      64       119        0   

以前のリリースでの既定の動作に戻すには、名前と値のペアの引数 'Format','auto' を指定します。readtable は、ヘッダーをデータとして読み取り、結果として、すべての table 変数をテキストに変換します。

T = readtable('headersAndMissing.txt','Format','auto')
T=6×6 table
     LastName        Gender         Age        Height     Weight       Smoker   
    ___________    __________    __________    _______    _______    ___________

    {'string' }    {'string'}    {'int'   }    {'int'}    {'int'}    {'boolean'}
    {'Wu'     }    {'M'     }    {'38'    }    {'71' }    {'176'}    {'1'      }
    {'Johnson'}    {'M'     }    {'43'    }    {'69' }    {'163'}    {'0'      }
    {'Sanchez'}    {'F'     }    {'38'    }    {'64' }    {'131'}    {'0'      }
    {'Brown'  }    {'F'     }    {0x0 char}    {'67' }    {'133'}    {'0'      }
    {'Picard' }    {0x0 char}    {0x0 char}    {'64' }    {'119'}    {'0'      }

詳細については、このページの「互換性についての考慮事項」節を参照してください。

ファイル mySpaceDelimTable.txt をテキスト エディターでプレビューします。スクリーン ショットを以下に示します。このファイルにはスペース区切り列データが含まれています。

スペースで区切られたテキスト ファイルから table を作成します。ファイルの最初の行に検出可能な列名が含まれていないため、関数 readtable は、既定の変数名 Var1 から Var5 を割り当てます。

T = readtable('mySpaceDelimTable.txt')
T=3×5 table
    Var1     Var2    Var3     Var4       Var5   
    _____    ____    ____    ______    _________

    {'M'}     45      45     {'NY'}    {'true' }
    {'F'}     41      32     {'CA'}    {'false'}
    {'M'}     40      34     {'MA'}    {'false'}

myCsvTable.dat ファイルをテキスト エディターに読み込み、その内容をプレビューします。スクリーン ショットを以下に示します。このファイルにはコンマ区切り列データが含まれています。

filename = 'myCsvTable.dat';

コンマ区切りのテキスト ファイルからテーブルを作成します。最初の 2 つの列を文字ベクトル、3 番目の列を uint32、その次の 2 つの列を倍精度浮動小数点数としてインポートします。最後の列のエントリを文字ベクトルとしてインポートします。

T = readtable(filename,'Format','%s%s%u%f%f%s')
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176      {'1'} 
    {'Johnson' }    {'M'}     43       69       163      {'0'} 
    {'Williams'}    {'F'}     38       64       131      {'0'} 
    {'Jones'   }    {'F'}     40       67       133      {'0'} 
    {'Brown'   }    {'F'}     49       64       119      {'0'} 

変換指定子は、文字ベクトルの cell 配列の場合は %sdouble の場合は %fuint32 の場合は %u です。

ファイルからドイツ語の日付を読み取り、英語の日付としてテーブルに追加します。

ファイル german_dates.txt をテキスト エディターでプレビューします。スクリーン ショットを以下に示します。値の最初の列にはドイツ語の日付が含まれ、2 番目と 3 番目の列は数値となっています。

readtable を使用してサンプル ファイルを読み取ります。変換指定子は日付では %D、浮動小数点値では %f です。ファイルのエンコードは、名前と値のペアの引数 FileEncoding で指定します。日付の書式とロケールは、名前と値のペアの引数 DateLocale で指定します。

T = readtable('german_dates.txt',...
    'Format','%{dd MMMM yyyy}D %f %f',...
    'FileEncoding','ISO-8859-15',...
    'DateLocale','de_DE')
T=3×3 table
          Var1          Var2    Var3 
    ________________    ____    _____

     01 January 2014    20.2    100.5
    01 February 2014    21.6    102.7
       01 March 2014    20.7     99.8

スプレッドシートから、最初の行に変数名、最初の列に行名が含まれるテーブルを作成します。

T = readtable('patients.xls','ReadRowNames',true);

テーブルの最初の 5 行と最初の 4 つの変数を表示します。

T(1:5,1:4)
ans=5×4 table
                  Gender      Age              Location               Height
                __________    ___    _____________________________    ______

    Smith       {'Male'  }    38     {'County General Hospital'  }      71  
    Johnson     {'Male'  }    43     {'VA Hospital'              }      69  
    Williams    {'Female'}    38     {'St. Mary's Medical Center'}      64  
    Jones       {'Female'}    40     {'VA Hospital'              }      67  
    Brown       {'Female'}    49     {'County General Hospital'  }      64  

テーブルの DimensionNames プロパティを表示します。

T.Properties.DimensionNames
ans = 1x2 cell
    {'LastName'}    {'Variables'}

'LastName' は、スプレッドシートの最初の行の最初の列にある名前です。

スプレッドシート patients.xls の指定した領域のデータを使用して table を作成します。角 C2E6 の間にある 5 行 3 列の四角形領域のデータを使用します。この領域の最初の行は変数名として使用しないでください。

T = readtable('patients.xls',...
    'Range','C2:E6',...
    'ReadVariableNames',false)
T = 

    Var1               Var2                Var3
    ____    ___________________________    ____

    38      'County General Hospital'      71  
    43      'VA Hospital'                  69  
    38      'St. Mary's Medical Center'    64  
    40      'VA Hospital'                  67  
    49      'County General Hospital'      64  

T には、既定の変数名が含まれます。

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

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

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  

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

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

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  

スペース、非 ASCII 文字などの任意の文字を含む変数名を保持しながら、表形式データを読み取ることができます。まず、任意の変数名を含む table を作成し、その table をテキスト ファイルに書き込みます。次に、元の変数名を保持しながら表形式データを読み戻します。

任意の変数名を含む table を作成し、その表形式データをファイル 'sampletable.txt' に書き込みます。

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

writetable(T,'sampletable.txt')

readtable を使用して、表形式データを読み戻します。既定で、MATLAB® はスペースおよび非 ASCII 文字が含まれる変数名を、有効な MATLAB® 識別子に変換します。たとえば、MATLAB® は変数名 'Last Name''LastName''Smoker (1 or 0)''Smoker_1or0_' に変換します。変数名を保持しながら表形式データを読み取るには、'VariableNamingRule' パラメーターを preserve に設定します。

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

16 進数と 2 進数をファイルから読み取り、それらを数値変数として table に格納できます。関数 readtable は、16 進数と 2 進数にそれぞれ 0x0b の接頭辞が含まれている場合、16 進数と 2 進数を自動的に読み取ります。数値は整数データ型を使用して格納されます。また、このような数値に接頭辞がない場合、インポート オプションを使用して読み取ることもできます。

hexAndBinary.txt のファイルをテキスト エディターでプレビューします。このファイルには 16 進数と 2 進数に接頭辞が含まれている列がありますが、含まれていない列が 1 つあります。

readtable を使用してファイルを読み取ります。この関数は、0x0b の接頭辞を含む数値を検出し、それらを整数として格納します。3 番目の列には接頭辞がないため、その値はテキストとして扱われます。

T = readtable('hexAndBinary.txt')
T=3×4 table
    Var1     Var2      Var3         Var4    
    _____    ____    ________    ___________

      255    255     {'C7F9'}    {'Device1'}
      256      4     {'05BF'}    {'Device2'}
    43981    129     {'F00F'}    {'Device3'}

T.Var1 には 8 ビットより大きいストレージを必要とする値があるため、関数 readtable は、数値を異なる整数クラス (uint16uint8) に格納します。

class(T.Var1)
ans = 
'uint16'
class(T.Var2)
ans = 
'uint8'

16 進数と 2 進数からインポートされた数値を格納するためのデータ型を指定するには、名前と値のペアの引数 'HexType' および 'BinaryType' を使用します。値を符号付き 32 ビット整数として格納します。

T = readtable('hexAndBinary.txt','HexType','int32','BinaryType','int32');
class(T.Var1)
ans = 
'int32'
class(T.Var2)
ans = 
'int32'

インポート オプションを使用して接頭辞のない 16 進数と 2 進数を検出し、それらのためのストレージを指定します。hexAndBinary.txt のインポート オプション オブジェクトを作成します。

opts = detectImportOptions('hexAndBinary.txt')
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: 'UTF-8'

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'char' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

接頭辞がない場合でも 3 番目の列を 16 進数値としてインポートする必要があることを指定するには、関数 setvaropts を使用して、table の 3 番目の変数の型を変更します。変数の型を int32 に設定します。

opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
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: 'UTF-8'

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'int32' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

ファイルを読み取り、3 番目の列をテキストではなく数値としてインポートします。

T = readtable('hexAndBinary.txt',opts)
T=3×4 table
    Var1     Var2    Var3        Var4    
    _____    ____    _____    ___________

      255    255     51193    {'Device1'}
      256      4      1471    {'Device2'}
    43981    129     61455    {'Device3'}

XML ファイル用の XML インポート オプションを作成し、インポートする変数を指定してから、データを読み取ります。

XML ファイル students.xml には、Student という名前の 4 つの兄弟ノードがあり、それぞれに同じ子ノードと属性が含まれています。

type students.xml
<?xml version="1.0" encoding="utf-8"?>
<Students>
    <Student ID="S11305">
        <Name FirstName="Priya" LastName="Thompson" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">591 Spring Lane</Street>
            <City>Natick</City>
            <State>MA</State>
      </Address>
      <Major>Computer Science</Major>
      <Minor>English Literature</Minor>
   </Student>
   <Student ID="S23451">
        <Name FirstName="Conor" LastName="Cole" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">4641 Pearl Street</Street>
            <City>San Francisco</City>
            <State>CA</State>
        </Address>
        <Major>Microbiology</Major>
        <Minor>Public Health</Minor>
    </Student>
    <Student ID="S119323">
        <Name FirstName="Morgan" LastName="Yang" />
        <Age>21</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">30 Highland Road</Street>
            <City>Detriot</City>
            <State>MI</State>
        </Address>
        <Major>Political Science</Major>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>19</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>20</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
    </Student>
    <Student ID="54600">
        <Name FirstName="Dania" LastName="Burt" />
        <Age>22</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">22 Angie Drive</Street>
            <City>Los Angeles</City>
            <State>CA</State>
        </Address>
        <Major>Mechanical Engineering</Major>
        <Minor>Architecture</Minor>
   </Student>
    <Student ID="453197">
        <Name FirstName="Rikki" LastName="Gunn" />
        <Age>21</Age>
        <Year>Junior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">65 Decatur Lane</Street>
            <City>Trenton</City>
            <State>ME</State>
        </Address>
        <Major>Economics</Major>
        <Minor>Art History</Minor>
   </Student>
</Students>

ファイルから XMLImportOptions オブジェクトを作成します。VariableSelectors の値を //@FirstName と指定して、FirstName 要素ノードを table 変数としてインポートするように選択します。

opts = xmlImportOptions("VariableSelectors","//@FirstName")
opts = 
  XMLImportOptions with properties:

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

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

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//@FirstName"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: [0x2 string]

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

T = readtable("students.xml",opts)
T=7×1 table
       Var1   
    __________

    {'Priya' }
    {'Conor' }
    {'Morgan'}
    {'Salim' }
    {'Salim' }
    {'Dania' }
    {'Rikki' }

名前と値の引数 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"  

関数 readtable は、既定では、Microsoft Word ドキュメント ファイルから最初のテーブルを読み取ります。ファイル MaintenanceReport.docx にはテーブルが 2 つ含まれています。2 つ目のテーブルの最後の行に、テーブルの変数と一致しない、列がマージされたセルがあります。

TableIndex オプションを 2 に設定して 2 つ目のテーブルを読み取ります。列がマージされたセルがある行をスキップするために、MergedCellColumnRule オプションを 'omitrow' に設定します。

filename = "MaintenanceReport.docx";
T = readtable(filename,'TableIndex',2,'MergedCellColumnRule','omitrow')
T=3×5 table
                                 Description                                       Category          Urgency         Resolution          Cost  
    _____________________________________________________________________    ____________________    ________    __________________    ________

    "Items are occasionally getting stuck in the scanner spools."            "Mechanical Failure"    "Medium"    "Readjust Machine"    "$45"   
    "Loud rattling and banging sounds are coming from assembler pistons."    "Mechanical Failure"    "Medium"    "Readjust Machine"    "$35"   
    "There are cuts to the power when starting the plant."                   "Electronic Failure"    "High"      "Full Replacement"    "$16200"

あるいは、TableSelector オプションを使用して XPath セレクターでテーブルを選択することもできます。Microsoft Word ドキュメントの "Description" というテキストを含むテーブルを選択するには、XPath セレクター "//w:tbl[contains(.,'Description')]" を使用します。

T = readtable(filename, ...
    'TableSelector',"//w:tbl[contains(.,'Description')]", ...
    'MergedCellColumnRule','omitrow')
T=3×5 table
                                 Description                                       Category          Urgency         Resolution          Cost  
    _____________________________________________________________________    ____________________    ________    __________________    ________

    "Items are occasionally getting stuck in the scanner spools."            "Mechanical Failure"    "Medium"    "Readjust Machine"    "$45"   
    "Loud rattling and banging sounds are coming from assembler pistons."    "Mechanical Failure"    "Medium"    "Readjust Machine"    "$35"   
    "There are cuts to the power when starting the plant."                   "Electronic Failure"    "High"      "Full Replacement"    "$16200"

URL https://www.mathworks.com/help/matlab/text-files.html から、XPath セレクター "//TABLE[contains(.,'readtable')]" を使用して、"readtable" というテキストを含む最初のテーブルを読み取ります。このテーブルにはヘッダー行がないため、ReadVariableNames オプションを false に設定します。

url = "https://www.mathworks.com/help/matlab/text-files.html";
T = readtable(url,'TableSelector',"//TABLE[contains(.,'readtable')]", ...
    'ReadVariableNames',false)
T=4×2 table
          Var1                      Var2            
    ________________    ____________________________

    "readtable"         "Create table from file"    
    "writetable"        "Write table to file"       
    "readtimetable"     "Create timetable from file"
    "writetimetable"    "Write timetable to file"   

入力引数

すべて折りたたむ

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

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

場所

形式

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

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

例: 'myFile.txt'

フォルダー内のファイル

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

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

例: 'dataDir\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 にファイル拡張子が含まれる場合、インポート関数は拡張子からファイル形式を判別します。それ以外の場合は、名前と値のペアの引数 'FileType' を指定してファイルの種類を示さなければなりません。

  • Microsoft Excel® ソフトウェアがインストールされている Windows® システムで、インポート関数は、使用している Excel のバージョンで認識されるすべての Excel スプレッドシート ファイル形式を読み取ります。

  • システムに Excel for Windows がない場合、または MATLAB Online™ を使用している場合、インポート関数は UseExcel プロパティが false に設定されている状態で動作し、.xls, .xlsx, .xlsm, .xltx, and .xltm ファイルのみを読み取ります。

  • 区切りテキスト ファイルの場合、インポート関数はファイル内の空のフィールドを、NaN (数値変数の場合) または空の文字ベクトル (テキスト変数の場合) のどちらかに変換します。テキスト ファイルのすべての行には同じ数の区切り記号がなければなりません。インポート関数はファイル内の意味のない空白を無視します。

データ型: char | string

ファイル インポート オプション。関数 detectImportOptions によって作成されたオブジェクト SpreadsheetImportOptionsDelimitedTextImportOptionsFixedWidthImportOptionsXMLImportOptionsWordDocumentImportOptions、または HTMLDocumentImportOptions として指定します。opts オブジェクトにはデータ インポートのプロセスを制御するプロパティが含まれています。各オブジェクトのプロパティの詳細については、該当するオブジェクトのページを参照してください。

ファイルの種類出力
スプレッドシート ファイルSpreadsheetImportOptions オブジェクト (SheetDataRange、および VariableNames プロパティにのみ使用可能)
テキスト ファイルDelimitedTextImportOptions オブジェクト
固定幅テキスト ファイルFixedWidthImportOptions オブジェクト
XML ファイルXMLImportOptions オブジェクト
Microsoft Word ドキュメント ファイルWordDocumentImportOptions オブジェクト
HTML ファイルHTMLImportOptions オブジェクト

名前と値の引数

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

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

例: 'ReadVariableNames',false は、ファイルの最初の行が変数名に対応しないことを示します。

テキスト ファイル

すべて折りたたむ

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

インポート オプション
'spreadsheet'

SpreadsheetImportOptions

'text'

DelimitedTextImportOptions または FixedWidthImportOptions。テキスト ファイルのレイアウトに応じていずれかになります。

'delimitedtext'

DelimitedTextImportOptions。このオプションは、列が区切り記号で区切られているテキスト ファイルに使用します。

'fixedwidth'

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

'xml'

XMLImportOptions。このオプションは、XML ファイルに使用します。

'worddocument'

WordDocumentImportOptions。このオプションは、Microsoft Word ドキュメント ファイルに使用します。

'html'

HTMLImportOptions。このオプションは、HTML ファイルに使用します。

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

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

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

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

  • Microsoft Word ドキュメント ファイルの場合、.docx

  • HTML ファイルの場合、.html.xhtml または .htm

例: 'FileType','text'

データ型: char | string

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

インジケーター

説明

false

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

true

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

指定なし指定されていない場合、readtablefalse と仮定します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadRowNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadRowNamestrue の場合、インポート オプション オブジェクトの RowNamesRange または RowNameColumn プロパティを使用して、指定されたファイルから行名を読み取ります。

  • ReadRowNamesfalse の場合、行名をインポートしません。

例: 'ReadRowNames',true

フィールドの区切り記号。'Delimiter' と文字ベクトル、文字ベクトルの cell 配列、または string で構成されるコンマ区切りのペアとして指定します。Delimiter は、コンマ ',' やピリオド '.' などの有効な文字を使用して指定します。

次の表は、一般的に使用されるフィールドの区切り記号の一部を示しています。

指定子

フィールドの区切り記号

','

'comma'

コンマ

' '

'space'

スペース

'\t'

'tab'

タブ

';'

'semi'

セミコロン

'|'

'bar'

縦棒

指定なし

指定されていない場合、readtable は区切り記号を自動的に検出します。

連続する区切り記号を 1 つの区切り記号として扱うには、Delimiter を文字ベクトルの cell 配列として指定します。さらに、MultipleDelimsAsOne オプションも指定しなければなりません。

例: 'Delimiter',',' または 'Delimiter','comma'

データ型: char | string | cell

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

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

例: 'LeadingDelimitersRule','keep'

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

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

例: 'TrailingDelimitersRule','keep'

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

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

例: 'ConsecutiveDelimitersRule','split'

データ型: char | string

複数の区切り記号の取り扱いは、'MultipleDelimsAsOne'true または false で構成されるコンマ区切りのペアとして指定します。true の場合、インポート関数は連続した区切り記号を 1 つの区切り記号として扱います。区切り記号が空白で分けられて繰り返された場合も、1 つの区切り記号として扱われます。Delimiter オプションも指定しなければなりません。

例: 'MultipleDelimsAsOne',1

ファイルの先頭でスキップするヘッダーの行数。'NumHeaderLines'0 または正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、readtable はスキップする行数を自動的に検出します。

例: 'NumHeaderLines',2

データ型: single | double

空の値として扱うプレースホルダー テキスト。'TreatAsMissing' と、文字ベクトル、文字ベクトルの cell 配列、string または string 配列で構成されるコンマ区切りのペアとして指定します。これらの文字に対応する table 要素は NaN に設定されます。

'TreatAsMissing' はテーブル内の数値列にのみ適用され、readtable'-99' のような数値リテラルを受け取りません。

例: 'TreatAsMissing','N/A' または 'TreatAsMissing',"N/A" は数値列内の N/ANaN に設定します。

例: 'TreatAsMissing',{'.','NA','N/A'} または 'TreatAsMissing',[".","NA","N/A"] は数値列内の .NA および N/ANaN に設定します。

データ型: char | string

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

欠損ルール動作
'fill'

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

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

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

例: 'MissingRule','omitrow'

データ型: char | string

インポートされるテキスト データの型。次のいずれかの値として指定します。

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

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

例: "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 の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。

例: 'DatetimeType','datetime'

データ型: char | string

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

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

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

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

例: "VariableNamingRule","preserve"

データ型: char | string

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

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

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

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

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

例: 'ImportErrorRule','omitvar'

データ型: char | string

HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。

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

インジケーター

説明

true

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

false

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

指定なし 指定しない場合、readtabletrue または false を自動的に検出し、それに応じて続行します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadVariableNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadVariableNamestrue の場合、インポート オプション オブジェクトの VariableNamesRange または VariableNamesLine プロパティを使用して、指定されたファイルから変数名を読み取ります。

  • ReadVariableNamesfalse の場合、インポート オプション オブジェクトの VariableNames プロパティから変数名を読み取ります。

例: 'ReadVariableNames',true

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

例: 'ExpectedNumVariables',5

データ型: single | double

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

例: 'VariableWidths',[10,7,4,26,7]

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

例: 'Whitespace',' _'

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

データ内の空行を処理する手続き。'skip''read'、または 'error' として指定します。インポート関数は空白を空として解釈します。

空行のルール動作
'skip'空行をスキップします。
'read'空行をインポートします。インポート関数は、VariableWidthsVariableOptionsMissingRule、およびその他の関連するプロパティ (Whitespace など) に指定された値を使用して、空の行を解析します。
'error'エラー メッセージを表示し、インポート操作を中止します。

例: 'EmptyLineRule','skip'

データ型: char | string

変数名の位置。正のスカラー整数として指定します。VariableNamesLine プロパティは変数名がある位置の行番号を指定します。

VariableNamesLine を 0 として指定した場合は、変数名をインポートしません。それ以外の場合、指定された行から変数名をインポートします。

例: 'VariableNamesLine',6

データ型: single | double | uint8 | uint16 | uint32 | uint64

データ内の部分フィールドを処理する手続き。次の表の値のいずれかとして指定します。

部分フィールドのルール動作
'keep'

部分フィールドのデータを維持して、テキストを適切なデータ型に変換します。

場合によっては、インポート関数が部分データを解釈できないときに、変換エラーが発生することがあります。

'fill'

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

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

'omitrow'部分データを含む行を除外します。
'omitvar'部分データを含む変数を除外します。
'wrap'次の行の文字の読み取りを開始します。
'error'エラー メッセージを表示し、インポート操作を中止します。

例: 'PartialFieldRule','keep'

データ型: char | string

変数の単位の位置。正のスカラー整数として指定します。VariableUnitsLine プロパティは変数の単位がある位置の行番号を指定します。

VariableUnitsLine を 0 として指定した場合は、変数の単位をインポートしません。それ以外の場合、指定された行から変数の単位をインポートします。

例: 'VariableUnitsLine',8

データ型: single | double | uint8 | uint16 | uint32 | uint64

変数の説明の位置。正のスカラー整数として指定します。VariableDescriptionsLine プロパティは変数の説明がある位置の行番号を指定します。

VariableDescriptionsLine を 0 として指定した場合は、変数の説明をインポートしません。それ以外の場合、指定された行から変数の説明をインポートします。

例: 'VariableDescriptionsLine',7

データ型: single | double | uint8 | uint16 | uint32 | uint64

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

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

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

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

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

例: 'ExtraColumnsRule','addvars'

データ型: char | string

ファイルの列の形式。'Format' と 1 つ以上の変換指定子をもつ文字ベクトルまたは string スカラー、または 'auto' で構成されるコンマ区切りのペアとして指定します。変換指定子は、関数 textscan が受け入れる指定子と同じです。

形式を指定すると、大きなファイルの速度が大幅に高速化する場合があります。Format に値を指定しない場合、readtable%q を使用して非数値の列を解釈します。%q 指定子はテキストを読み取り、必要に応じて二重引用符 (") を除外します。

  • 名前と値のペア 'Format' を指定しない場合、関数 readtable は、データのインポートに関数 detectImportOptions の結果を使用したかのように動作します。この動作の結果の詳細については、互換性についての考慮事項を参照してください。

  • 'Format','auto' を指定する場合、作成された変数は、データに応じて double 配列、文字ベクトルの cell 配列、または datetime 配列です。列全体が数値の場合、変数は double としてインポートされます。列に数値ではない要素が含まれる場合、変数は文字ベクトルの cell 配列、または値が日付と時間を表す場合は datetime 配列としてインポートされます。

例: 'Format','auto'

データ型: char | string

区切り付きテキスト ファイルの空の数値フィールドに返す値。'EmptyValue' と数値スカラーで構成されるコンマ区切りのペアとして指定します。

例: 'EmptyValue',0

データ連結を決定する論理インジケーターは、'CollectOutput' と、true または false とで構成されるコンマ区切りのペアとして指定します。true の場合、インポート関数は同じ基本 MATLAB クラスの連続する出力セルを連結して 1 つの配列にします。

例: 'CollectOutput',true

無視するテキストを示す記号。'CommentStyle' と、文字ベクトル、文字ベクトルの cell 配列、string、または string 配列で構成されるコンマ区切りのペアとして指定します。

たとえば、'%' などの文字を指定して、同じ行でその記号の後に続くテキストを無視します。{'/*','*/'} のように 2 つの文字ベクトルの cell 配列を指定して、それらのシーケンスの間にあるすべてのテキストを無視します。

MATLAB は、各フィールドの最初にだけコメントをチェックします (フィールド内はコメント チェック対象外です)。

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

データ型: char | string

指数文字。"ExponentCharacter" と文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。既定の指数文字は eEd および D です。

例: "ExponentCharacter","eE"

データ型: char | string

行末の文字。'LineEnding' と文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。文字ベクトルは '\r\n' であるか、単一の文字を指定しなければなりません。一般的な行末文字としては、改行文字 ('\n') やキャリッジ リターン ('\r') があります。'\r\n' を指定すると、インポート関数は \r\n、その 2 つの組み合わせ (\r\n) をすべて行末文字として扱います。

既定の行末シーケンスは \n\r または \r\n のいずれかで、ファイルの内容によって異なります。

ファイルの最後の行の末尾に欠損値および行末シーケンスが存在する場合、インポート関数はそれらのフィールドに空の値を返します。これにより、出力 cell 配列 C 内の個々のセルが確実に同じサイズになります。

例: 'LineEnding',':'

データ型: char | string

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

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

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

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

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

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

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

例: 'DateLocale','ja_JP'

数値変数内の小数点の区切りを示す文字。文字ベクトルまたは string スカラーとして指定します。インポート関数は、DecimalSeparator の名前と値のペアで指定される文字を使用して、数値の整数部分と小数部分を区別します。

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

例: 名前と値のペアが 'DecimalSeparator',',' のように指定される場合、インポート関数はテキスト "3,14159" を数値 3.14159 としてインポートします。

データ型: char | string

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

例: 名前と値のペアが 'ThousandsSeparator',',' のように指定される場合、インポート関数はテキスト "1,234,000"1234000 としてインポートします。

データ型: char | string

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

例: 名前と値のペアが 'TrimNonNumeric',true のように指定される場合、インポート関数は '$500/-'500 として読み取ります。

データ型: logical

ファイルに関連付けられた文字エンコード スキーム。'Encoding''system' で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。エンコードを指定しない場合、関数 readtable は自動文字セット検出を使用して、ファイルの読み取り時にエンコードを判断します。

インポート オプションに加えて引数 'Encoding' を指定した場合、関数 readtable'Encoding' で指定された値を使用して、インポート オプションで定義されたエンコードをオーバーライドします。

例: 'Encoding','UTF-8' は、UTF-8 をエンコードとして使用します。

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

データ型: char | string

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

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

MATLAB の duration データ型

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

'text'

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

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

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

例: 'DurationType','text'

データ型: char | string

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

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

すべて折りたたむ

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

インポート オプション
'spreadsheet'

SpreadsheetImportOptions

'text'

DelimitedTextImportOptions または FixedWidthImportOptions。テキスト ファイルのレイアウトに応じていずれかになります。

'delimitedtext'

DelimitedTextImportOptions。このオプションは、列が区切り記号で区切られているテキスト ファイルに使用します。

'fixedwidth'

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

'xml'

XMLImportOptions。このオプションは、XML ファイルに使用します。

'worddocument'

WordDocumentImportOptions。このオプションは、Microsoft Word ドキュメント ファイルに使用します。

'html'

HTMLImportOptions。このオプションは、HTML ファイルに使用します。

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

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

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

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

  • Microsoft Word ドキュメント ファイルの場合、.docx

  • HTML ファイルの場合、.html.xhtml または .htm

例: 'FileType','text'

データ型: char | string

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

インジケーター

説明

false

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

true

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

指定なし指定されていない場合、readtablefalse と仮定します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadRowNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadRowNamestrue の場合、インポート オプション オブジェクトの RowNamesRange または RowNameColumn プロパティを使用して、指定されたファイルから行名を読み取ります。

  • ReadRowNamesfalse の場合、行名をインポートしません。

例: 'ReadRowNames',true

空の値として扱うプレースホルダー テキスト。'TreatAsMissing' と、文字ベクトル、文字ベクトルの cell 配列、string または string 配列で構成されるコンマ区切りのペアとして指定します。これらの文字に対応する table 要素は NaN に設定されます。

'TreatAsMissing' はテーブル内の数値列にのみ適用され、readtable'-99' のような数値リテラルを受け取りません。

例: 'TreatAsMissing','N/A' または 'TreatAsMissing',"N/A" は数値列内の N/ANaN に設定します。

例: 'TreatAsMissing',{'.','NA','N/A'} または 'TreatAsMissing',[".","NA","N/A"] は数値列内の .NA および N/ANaN に設定します。

データ型: char | string

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

欠損ルール動作
'fill'

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

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

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

例: 'MissingRule','omitrow'

データ型: char | string

ワークシートの読み取り対象部分。'Range' と次のいずれかの形式の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアで四角形の領域として指定します。

Range の指定方法 説明

'Cell' または [row col]

開始セル

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

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

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

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

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

'Corner1:Corner2'

四角形の範囲

構文 'Corner1:Corner2' を使用して範囲を指定します。Corner1Corner2 は、領域を定義する 2 つの対角です。たとえば、'D2:H4' は、ワークシート上の 2 つの角 D2H4 の間にある 3 行 5 列の四角形領域を表します。名前と値のペアの引数 'Range' では大文字小文字は区別されず、Excel A1 参照スタイル (Excel ヘルプを参照) が使用されます。

例: 'Range','D2:H4'

''

指定なしまたは空

指定しない場合、readtable は使用範囲を自動的に検出します。

例: 'Range',''

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

'Row1:Row2'

行範囲

Excel の行指定子によって開始行と終了行を指定して、行の範囲を表すことができます。これにより、readtable は指定された行内で列の使用範囲を自動的に検出します。たとえば、readtable は範囲指定 '1:7' を、1 ~ 7 行目の使用範囲にあるすべての列を読み取る命令として解釈します。

例: 'Range','1:7'

'Column1:Column2'

列範囲

Excel の列指定子を使用して開始列と終了列を指定することで、範囲を表すことができます。これにより、readtable は指定された列内で行の使用範囲を自動的に検出します。たとえば、readtable は範囲指定 'A:F' を、A ~ F 列の使用範囲にあるすべての行を読み取る命令として解釈します。

例: 'Range','A:F'

'NamedRange'

Excel の名前付き範囲

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

例: 'Range','myTable'

例: 'Range', 'A1:F10'

例: 'Range', "A1:F10"

データ型: char | string

インポートするデータの場所。文字ベクトル、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]

''

指定なしまたは空

データを取得しません。

例: ''

例: 'DataRange', 'B2:H15'

データ型: 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

''

指定なしまたは空

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

例: ''

例: 'RowNamesRange', 'A1:H1'

データ型: 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

''

指定なしまたは空

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

例: ''

例: 'VariableNamesRange', 'A1:A15'

データ型: 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

''

指定なしまたは空

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

例: ''

例: 'VariableUnitsRange', 'A1:A5'

データ型: 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

''

指定なしまたは空

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

例: ''

例: 'VariableDescriptionsRange', 'B1:B15'

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

インポートされるテキスト データの型。次のいずれかの値として指定します。

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

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

例: "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 の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。

例: 'DatetimeType','datetime'

データ型: char | string

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

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

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

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

例: "VariableNamingRule","preserve"

データ型: char | string

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

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

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

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

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

例: 'ImportErrorRule','omitvar'

データ型: char | string

HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。

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

インジケーター

説明

true

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

false

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

指定なし 指定しない場合、readtabletrue または false を自動的に検出し、それに応じて続行します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadVariableNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadVariableNamestrue の場合、インポート オプション オブジェクトの VariableNamesRange または VariableNamesLine プロパティを使用して、指定されたファイルから変数名を読み取ります。

  • ReadVariableNamesfalse の場合、インポート オプション オブジェクトの VariableNames プロパティから変数名を読み取ります。

例: 'ReadVariableNames',true

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

例: 'ExpectedNumVariables',5

データ型: single | double

読み取るワークシート。'Sheet' と、ワークシート インデックスを示す正の整数またはワークシート名を含む文字ベクトルまたは string で構成されるコンマ区切りのペアとして指定します。ワークシート名にコロン (:) を含めることはできません。スプレッドシート ファイルのシートの名前を調べるには、sheets = sheetnames(filename) を使用します。詳細については、sheetnames を参照してください。

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

例: 'Sheet', 2

例: 'Sheet', 'MySheetName'

例: 'Sheet', "MySheetName"

データ型: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

スプレッドシート データを読み取るときに、Microsoft Excel for Windows のインスタンスを起動するためのフラグ。'UseExcel' と、true または false のいずれかで構成されるコンマ区切りのペアとして指定します。

'UseExcel' パラメーターは、次の値のいずれかに設定できます。

  • true — インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動します。

  • false — インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動しません。このモードで動作しているインポート関数の機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。

UseExcel

true

false

サポートされているファイル形式

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

式やマクロなどの対話型機能のサポート

あり

なし

Windows プラットフォームでスプレッドシート ファイルを読み取るときに Microsoft Excel のインスタンスを起動する場合は、'UseExcel' パラメーターを true に設定します。

例: 'UseExcel',true

XML ファイル

すべて折りたたむ

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

インポート オプション
'spreadsheet'

SpreadsheetImportOptions

'text'

DelimitedTextImportOptions または FixedWidthImportOptions。テキスト ファイルのレイアウトに応じていずれかになります。

'delimitedtext'

DelimitedTextImportOptions。このオプションは、列が区切り記号で区切られているテキスト ファイルに使用します。

'fixedwidth'

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

'xml'

XMLImportOptions。このオプションは、XML ファイルに使用します。

'worddocument'

WordDocumentImportOptions。このオプションは、Microsoft Word ドキュメント ファイルに使用します。

'html'

HTMLImportOptions。このオプションは、HTML ファイルに使用します。

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

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

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

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

  • Microsoft Word ドキュメント ファイルの場合、.docx

  • HTML ファイルの場合、.html.xhtml または .htm

例: 'FileType','text'

データ型: char | string

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

インジケーター

説明

false

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

true

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

指定なし指定されていない場合、readtablefalse と仮定します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadRowNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadRowNamestrue の場合、インポート オプション オブジェクトの RowNamesRange または RowNameColumn プロパティを使用して、指定されたファイルから行名を読み取ります。

  • ReadRowNamesfalse の場合、行名をインポートしません。

例: 'ReadRowNames',true

空の値として扱うプレースホルダー テキスト。'TreatAsMissing' と、文字ベクトル、文字ベクトルの cell 配列、string または string 配列で構成されるコンマ区切りのペアとして指定します。これらの文字に対応する table 要素は NaN に設定されます。

'TreatAsMissing' はテーブル内の数値列にのみ適用され、readtable'-99' のような数値リテラルを受け取りません。

例: 'TreatAsMissing','N/A' または 'TreatAsMissing',"N/A" は数値列内の N/ANaN に設定します。

例: 'TreatAsMissing',{'.','NA','N/A'} または 'TreatAsMissing',[".","NA","N/A"] は数値列内の .NA および N/ANaN に設定します。

データ型: char | string

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

欠損ルール動作
'fill'

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

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

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

例: 'MissingRule','omitrow'

データ型: char | string

インポートされるテキスト データの型。次のいずれかの値として指定します。

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

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

例: "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 の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。

例: 'DatetimeType','datetime'

データ型: char | string

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

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

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

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

例: "VariableNamingRule","preserve"

データ型: char | string

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

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

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

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

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

例: 'ImportErrorRule','omitvar'

データ型: char | string

HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。

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

例: 'AttributeSuffix','_att'

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

例: 'ImportAttributes',false

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'

変数の単位の 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"]

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

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

Microsoft Word ドキュメント ファイル

すべて折りたたむ

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

インポート オプション
'spreadsheet'

SpreadsheetImportOptions

'text'

DelimitedTextImportOptions または FixedWidthImportOptions。テキスト ファイルのレイアウトに応じていずれかになります。

'delimitedtext'

DelimitedTextImportOptions。このオプションは、列が区切り記号で区切られているテキスト ファイルに使用します。

'fixedwidth'

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

'xml'

XMLImportOptions。このオプションは、XML ファイルに使用します。

'worddocument'

WordDocumentImportOptions。このオプションは、Microsoft Word ドキュメント ファイルに使用します。

'html'

HTMLImportOptions。このオプションは、HTML ファイルに使用します。

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

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

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

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

  • Microsoft Word ドキュメント ファイルの場合、.docx

  • HTML ファイルの場合、.html.xhtml または .htm

例: 'FileType','text'

データ型: char | string

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

インジケーター

説明

false

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

true

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

指定なし指定されていない場合、readtablefalse と仮定します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadRowNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadRowNamestrue の場合、インポート オプション オブジェクトの RowNamesRange または RowNameColumn プロパティを使用して、指定されたファイルから行名を読み取ります。

  • ReadRowNamesfalse の場合、行名をインポートしません。

例: 'ReadRowNames',true

空の値として扱うプレースホルダー テキスト。'TreatAsMissing' と、文字ベクトル、文字ベクトルの cell 配列、string または string 配列で構成されるコンマ区切りのペアとして指定します。これらの文字に対応する table 要素は NaN に設定されます。

'TreatAsMissing' はテーブル内の数値列にのみ適用され、readtable'-99' のような数値リテラルを受け取りません。

例: 'TreatAsMissing','N/A' または 'TreatAsMissing',"N/A" は数値列内の N/ANaN に設定します。

例: 'TreatAsMissing',{'.','NA','N/A'} または 'TreatAsMissing',[".","NA","N/A"] は数値列内の .NA および N/ANaN に設定します。

データ型: char | string

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

欠損ルール動作
'fill'

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

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

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

例: 'MissingRule','omitrow'

データ型: char | string

テーブル内の空の行に適用するルール。次のいずれかとして指定します。

  • "skip" – 空の行をスキップします。

  • "read" – 空の行を読み取ります。

  • "error" – テーブル検出時は空の行を無視し、読み取り時にエラーとして扱います。

例: "EmptyRowRule","read"

テーブル内の空の列に適用するルール。次のいずれかとして指定します。

  • "skip" – 空の列をスキップします。

  • "read" – 空の列を読み取ります。

  • "error" – テーブル検出時は空の列を無視し、読み取り時にエラーとして扱います。

例: "EmptyColumnRule","error"

インポートされるテキスト データの型。次のいずれかの値として指定します。

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

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

例: "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 の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。

例: 'DatetimeType','datetime'

データ型: char | string

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

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

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

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

例: "VariableNamingRule","preserve"

データ型: char | string

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

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

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

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

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

例: 'ImportErrorRule','omitvar'

データ型: char | string

HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。

複数のテーブルを含む Microsoft Word ドキュメント ファイルまたは HTML ファイルから読み取るテーブルのインデックス。正の整数として指定します。

TableIndex を指定すると、TableSelector が等価の XPath 式に自動的に設定されます。

例: 'TableIndex',2

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

列がマージされたセルの処理方法。次の表のいずれかの値として指定します。

インポート エラー ルール動作
"placeleft"

一番左のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"placeright"

一番右のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"duplicate"

すべてのセルにデータを複製します。

"omitrow"エラーが発生した行を除外します。
"error"エラー メッセージを表示し、インポート操作を中止します。

例: 'MergedCellColumnRule',"placeright"

行がマージされたセルの処理方法。次の表のいずれかの値として指定します。

インポート エラー ルール動作
"placetop"

一番上のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"placebottom"

一番下のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"duplicate"

すべてのセルにデータを複製します。

"omitvar"行がマージされた変数を除外します。
"error"エラー メッセージを表示し、インポート操作を中止します。

例: 'MergedCellRowRule',"duplicate"

変数の名前を含む行。非負の整数として指定します。

  • VariableNamesRow を指定しない場合、ReadVariableNames 引数に従って変数の名前が読み取られます。

  • VariableNamesRow0 の場合、変数の名前はインポートされません。

  • それ以外の場合、指定した行から変数の名前がインポートされます。

例: 'VariableNamesRow',2

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

変数の単位を含む行。非負の整数として指定します。

VariableUnitsRow0 の場合、変数の単位はインポートされません。それ以外の場合、指定した行から変数の単位がインポートされます。

例: 'VariableUnitsRow',3

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

変数の説明を含む行。非負の整数として指定します。

VariableDescriptionsRow0 の場合、変数の説明はインポートされません。それ以外の場合、指定した行から変数の説明がインポートされます。

例: 'VariableDescriptionsRow',4

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

HTML ファイル

すべて折りたたむ

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

インポート オプション
'spreadsheet'

SpreadsheetImportOptions

'text'

DelimitedTextImportOptions または FixedWidthImportOptions。テキスト ファイルのレイアウトに応じていずれかになります。

'delimitedtext'

DelimitedTextImportOptions。このオプションは、列が区切り記号で区切られているテキスト ファイルに使用します。

'fixedwidth'

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

'xml'

XMLImportOptions。このオプションは、XML ファイルに使用します。

'worddocument'

WordDocumentImportOptions。このオプションは、Microsoft Word ドキュメント ファイルに使用します。

'html'

HTMLImportOptions。このオプションは、HTML ファイルに使用します。

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

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

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

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

  • Microsoft Word ドキュメント ファイルの場合、.docx

  • HTML ファイルの場合、.html.xhtml または .htm

例: 'FileType','text'

データ型: char | string

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

インジケーター

説明

false

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

true

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

指定なし指定されていない場合、readtablefalse と仮定します。

メモ: 'ReadVariableNames''ReadRowNames' の両方の論理インジケーターが true の場合、readtable は領域の最初の行の最初の列にある名前を T.Properties.DimensionNames プロパティの最初の次元の名前として読み取ります。

インポート オプションの opts に加えて引数 ReadRowNames を指定した場合、readtable の動作が指定に基づき変化します。

  • ReadRowNamestrue の場合、インポート オプション オブジェクトの RowNamesRange または RowNameColumn プロパティを使用して、指定されたファイルから行名を読み取ります。

  • ReadRowNamesfalse の場合、行名をインポートしません。

例: 'ReadRowNames',true

空の値として扱うプレースホルダー テキスト。'TreatAsMissing' と、文字ベクトル、文字ベクトルの cell 配列、string または string 配列で構成されるコンマ区切りのペアとして指定します。これらの文字に対応する table 要素は NaN に設定されます。

'TreatAsMissing' はテーブル内の数値列にのみ適用され、readtable'-99' のような数値リテラルを受け取りません。

例: 'TreatAsMissing','N/A' または 'TreatAsMissing',"N/A" は数値列内の N/ANaN に設定します。

例: 'TreatAsMissing',{'.','NA','N/A'} または 'TreatAsMissing',[".","NA","N/A"] は数値列内の .NA および N/ANaN に設定します。

データ型: char | string

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

欠損ルール動作
'fill'

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

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

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

例: 'MissingRule','omitrow'

データ型: char | string

テーブル内の空の行に適用するルール。次のいずれかとして指定します。

  • "skip" – 空の行をスキップします。

  • "read" – 空の行を読み取ります。

  • "error" – テーブル検出時は空の行を無視し、読み取り時にエラーとして扱います。

例: "EmptyRowRule","read"

テーブル内の空の列に適用するルール。次のいずれかとして指定します。

  • "skip" – 空の列をスキップします。

  • "read" – 空の列を読み取ります。

  • "error" – テーブル検出時は空の列を無視し、読み取り時にエラーとして扱います。

例: "EmptyColumnRule","error"

インポートされるテキスト データの型。次のいずれかの値として指定します。

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

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

例: "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 の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。

例: 'DatetimeType','datetime'

データ型: char | string

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

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

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

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

例: "VariableNamingRule","preserve"

データ型: char | string

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

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

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

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

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

例: 'ImportErrorRule','omitvar'

データ型: char | string

HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。

複数のテーブルを含む Microsoft Word ドキュメント ファイルまたは HTML ファイルから読み取るテーブルのインデックス。正の整数として指定します。

TableIndex を指定すると、TableSelector が等価の XPath 式に自動的に設定されます。

例: 'TableIndex',2

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

列がマージされたセルの処理方法。次の表のいずれかの値として指定します。

インポート エラー ルール動作
"placeleft"

一番左のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"placeright"

一番右のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"duplicate"

すべてのセルにデータを複製します。

"omitrow"エラーが発生した行を除外します。
"error"エラー メッセージを表示し、インポート操作を中止します。

例: 'MergedCellColumnRule',"placeright"

行がマージされたセルの処理方法。次の表のいずれかの値として指定します。

インポート エラー ルール動作
"placetop"

一番上のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"placebottom"

一番下のセルにデータを配置し、残りのセルは FillValue プロパティの内容で埋めます。

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

"duplicate"

すべてのセルにデータを複製します。

"omitvar"行がマージされた変数を除外します。
"error"エラー メッセージを表示し、インポート操作を中止します。

例: 'MergedCellRowRule',"duplicate"

変数の名前を含む行。非負の整数として指定します。

  • VariableNamesRow を指定しない場合、ReadVariableNames 引数に従って変数の名前が読み取られます。

  • VariableNamesRow0 の場合、変数の名前はインポートされません。

  • それ以外の場合、指定した行から変数の名前がインポートされます。

例: 'VariableNamesRow',2

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

変数の単位を含む行。非負の整数として指定します。

VariableUnitsRow0 の場合、変数の単位はインポートされません。それ以外の場合、指定した行から変数の単位がインポートされます。

例: 'VariableUnitsRow',3

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

変数の説明を含む行。非負の整数として指定します。

VariableDescriptionsRow0 の場合、変数の説明はインポートされません。それ以外の場合、指定した行から変数の説明がインポートされます。

例: 'VariableDescriptionsRow',4

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

出力引数

すべて折りたたむ

table として返される出力テーブル。テーブルには、説明、変数単位、変数名、行名などのメタデータを保存できます。詳細については、table のプロパティの節を参照してください。

ヒント

  • XLSX 形式の大きなファイルは読み取りに時間がかかることがあります。インポートとエクスポートのパフォーマンスを向上させるためには、XLSB 形式を使用することが Microsoft によって推奨されています。

  • インポートする XML 入力文書の要素を指定するには、XPath セレクターを使用します。たとえば、次の構造の XML ファイル myFile.xml をインポートするとします。

    <data>
        <table category="ones">
            <var>1</var>
            <var>2</var>
        </table>
        <table category="tens">
            <var>10</var>
            <var>20</var>
        </table>
    </data>
    
    次の表に、VariableSelectorsTableSelector などの XPath セレクターの名前と値の引数でサポートされる XPath 構文を示します。

    選択操作構文結果
    文書内の場所に関係なく、選択するノードに名前が一致するすべてのノードを選択する。名前の前にスラッシュを 2 つ (//) 付ける。
    data = readtable('myFile.xml', 'VariableSelectors', '//var')
    data =
    
      4×1 table
    
        var
        ___
    
         1 
         2 
        10 
        20 
    要素ノードに属する属性の値を読み取る。属性の前にアット マーク (@) を付ける。
    data = readtable('myFile.xml', 'VariableSelectors', '//table/@category')
    data =
    
      2×1 table
    
        categoryAttribute
        _________________
    
             "ones"      
             "tens"   
    一連のノードから特定のノードを選択する。選択するノードのインデックスを大かっこ ([]) で囲んで指定する。
    data = readtable('myFile.xml', 'TableSelector', '//table[1]')
    data =
    
      2×1 table
    
        var
        ___
    
         1 
         2 
    
    演算の優先順位を指定する。最初に評価する式を小かっこで囲む。
    data = readtable('myFile.xml', 'VariableSelectors', '//table/var[1]')
    data =
    
      2×1 table
    
        var
        ___
    
         1 
        10 
    data = readtable('myFile.xml', 'VariableSelectors', '(//table/var)[1]')
    data =
    
      table
    
        var
        ___
    
         1 

拡張機能

バージョン履歴

R2013b で導入

すべて展開する