readtimetable
ファイルからの timetable の作成
説明
は、ファイルから列方向のデータを読み取ることにより timetable を作成します。TT
= readtimetable(filename
)
readtimetable
は、ファイル拡張子からファイル形式を判定します。
区切りテキスト ファイルの場合、
.txt
、.dat
または.csv
スプレッドシート ファイルの場合、
.xls
、.xlsb
、.xlsm
、.xlsx
、.xltm
,.xltx
または.ods
拡張マークアップ言語 (XML) の場合、
.xml
圧縮ファイルおよびアーカイブ ファイルの場合、
.zip
、.gz
、または.tar
テキスト ファイルおよびスプレッドシート ファイルの場合、readtimetable
は、ファイルの列ごとに 1 つの変数を TT
に作成し、ファイルの最初の行から変数名を読み取ります。XML ファイルの場合、readtimetable
は、timetable 変数として検出された要素ノードまたは属性ノードごとに 1 つの変数を T
に作成します。変数の名前は要素および属性の名前に対応します。
readtimetable
は、表形式データの型が datetime
または duration
の最初の列を timetable の行時間に設定します。残りの列は timetable の変数になります。
は、1 つ以上の名前と値のペアの引数で指定された追加のオプションを使用して、ファイルから timetable を作成します。名前と値のペアを指定する前に、前述の構文の入力引数のいずれかを使用してください。TT
= readtimetable(___,Name,Value
)
データ特有のインポート オプションを設定するには、opts
オブジェクトを使用するか、名前と値のペアを指定できます。opts
に加えて名前と値のペアを指定する場合、readtimetable
がサポートするのは次の名前と値のペアのみです。
テキストおよびスプレッドシートのパラメーター —
ReadVariableNames
、RowTimes
、SampleRate
、TimeStep
、StartTime
テキストのみのパラメーター —
DateLocale
、Encoding
スプレッドシートのみのパラメーター —
Sheet
、UseExcel
例
コンマ区切りのテキスト ファイルからテーブルを作成します。
TT = readtimetable('outages.csv');
テーブルの概要を表示します。timetable の作成時に行時間のパラメーターを設定しない場合、関数 readtimetable
はデータ OutageTime
内の最初の datetime 変数または duration 変数を検出し、行時間の変数として指定します。残りの変数は timetable の変数になります。
summary(TT)
TT: 1468×5 timetable Row Times: OutageTime: datetime Variables: Region: cell array of character vectors Loss: double Customers: double RestorationTime: datetime Cause: cell array of character vectors Statistics for applicable variables and row times: NumMissing Min Median Max Mean Std OutageTime 0 2002-02-01 12:18 2010-03-18 21:05 2014-01-15 02:41 2009-07-03 12:49 27450:31:25 Region 0 Loss 604 0 180.2583 2.3418e+04 563.8885 1.8793e+03 Customers 328 0 7.5765e+04 5.9689e+06 1.6693e+05 3.6873e+05 RestorationTime 29 2002-02-07 16:50 2010-03-31 10:54 2042-09-18 23:31 2009-07-27 15:47 28592:30:37 Cause 0
テキスト ファイルのインポート オプションを検出し、変数の型を指定して、データから timetable を作成します。
ファイルからインポート オプション オブジェクトを作成し、変数オプションを調べます。
opts = detectImportOptions('outages.csv');
opts.VariableOptions
ans = 1×6 heterogeneous VariableImportOptions (TextVariableImportOptions, DatetimeVariableImportOptions, NumericVariableImportOptions) array with properties: Name Type FillValue TreatAsMissing QuoteRule Prefixes Suffixes EmptyFieldRule
オプション オブジェクトを変更してデータ内の変数の目的のデータ型を指定します。変数 Region
および Cause
のデータ型を categorical に変更します。
opts = setvartype(opts,{'Region','Cause'},{'categorical','categorical'});
readtimetable
をオプション オブジェクトと共に使用して、timetable をインポートします。次に、timetable の概要を表示します。
TT = readtimetable('outages.csv',opts);
summary(TT)
TT: 1468×5 timetable Row Times: OutageTime: datetime Variables: Region: categorical (5 categories) Loss: double Customers: double RestorationTime: datetime Cause: categorical (10 categories) Statistics for applicable variables and row times: NumMissing Min Median Max Mean Std OutageTime 0 2002-02-01 12:18 2010-03-18 21:05 2014-01-15 02:41 2009-07-03 12:49 27450:31:25 Region 0 Loss 604 0 180.2583 2.3418e+04 563.8885 1.8793e+03 Customers 328 0 7.5765e+04 5.9689e+06 1.6693e+05 3.6873e+05 RestorationTime 29 2002-02-07 16:50 2010-03-31 10:54 2042-09-18 23:31 2009-07-27 15:47 28592:30:37 Cause 0
コンマ区切りのテキスト ファイルから table を読み取り、任意の行時間変数である timetable を作成します。
インポート オプション オブジェクトを作成し、表形式データをプレビューします。
opts = detectImportOptions('outages.csv'); preview('outages.csv',opts)
ans=8×6 table
Region OutageTime Loss Customers RestorationTime Cause
_____________ ________________ ______ __________ ________________ ___________________
{'SouthWest'} 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 {'winter storm' }
{'SouthEast'} 2003-01-23 00:49 530.14 2.1204e+05 NaT {'winter storm' }
{'SouthEast'} 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' }
{'West' } 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'}
{'MidWest' } 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' }
{'West' } 2003-06-18 02:49 0 0 2003-06-18 10:54 {'attack' }
{'West' } 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 {'equipment fault'}
{'West' } 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 {'equipment fault'}
変数 RestorationTime
を timetable の行時間変数に指定して、timetable を作成します。次に、timetable の概要を表示します。
TT = readtimetable('outages.csv','RowTimes','RestorationTime'); summary(TT)
TT: 1468×5 timetable Row Times: RestorationTime: datetime Variables: Region: cell array of character vectors OutageTime: datetime Loss: double Customers: double Cause: cell array of character vectors Statistics for applicable variables and row times: NumMissing Min Median Max Mean Std RestorationTime 29 2002-02-07 16:50 2010-03-31 10:54 2042-09-18 23:31 2009-07-27 15:47 28592:30:37 Region 0 OutageTime 0 2002-02-01 12:18 2010-03-18 21:05 2014-01-15 02:41 2009-07-03 12:49 27450:31:25 Loss 604 0 180.2583 2.3418e+04 563.8885 1.8793e+03 Customers 328 0 7.5765e+04 5.9689e+06 1.6693e+05 3.6873e+05 Cause 0
スプレッドシート ファイルから timetable を作成し、入力データを書式設定します。たとえば、ファイル quarterlyFinances1999To2019.csv
から timetable を作成し、タイム スタンプの開始日と、各タイム スタンプ間の時間を指定し、データから "$" 記号を削除します。
ファイル quarterlyFinances1999To2019.csv
のデータを timetable として読み取ります。連続する行時間の間の時間の長さを、1999 年 1 月 1 日から始まる 1 カレンダー四半期として指定します。'VariableNamingRule'
を preserve
に設定し、変数名に含まれる空白をそのまま残します。'TrimNonNumeric'
を true
に設定し、データの数値の前にある "$" 記号を削除します。
TT = readtimetable("quarterlyFinances1999To2019.csv","TimeStep", calquarters(1),"StartTime", datetime(1999, 1, 1),... "VariableNamingRule", "preserve", "TrimNonNumeric", true);
データの概要を表示します。
summary(TT)
TT: 80×9 timetable Row Times: Time: datetime Variables: Net Sales: double Cost of Sales: double Gross Margin: double Research and Development Expenses: double Administrative Expenses: double Total Operating Expenses: double Net Income: double Total Shares: double Earnings per Share: double Statistics for applicable variables and row times: NumMissing Min Median Max Mean Std Time 0 01-Jan-1999 16-Nov-2008 01-Oct-2018 15-Nov-2008 04:30:00 50925:56:30 NetSales 0 3.5066e+04 1.0407e+05 1.7684e+05 1.0377e+05 3.8034e+04 CostOfSales 0 1.8106e+04 4.8624e+04 7.7742e+04 4.8410e+04 1.7219e+04 GrossMargin 0 1.4563e+04 5.6719e+04 9.9097e+04 5.5361e+04 2.1060e+04 ResearchAndDevelopmentExpenses 0 4.9049e+03 2.4637e+04 4.5234e+04 2.4761e+04 1.1524e+04 AdministrativeExpenses 0 1.0474e+03 2.0153e+03 2.8115e+03 1.9745e+03 497.5852 TotalOperatingExpenses 0 5.9925e+03 2.6518e+04 4.8045e+04 2.6736e+04 1.1987e+04 NetIncome 0 7.6343e+03 2.8586e+04 5.1051e+04 2.8625e+04 9.8181e+03 TotalShares 0 822 1.8205e+03 2710 1.8013e+03 496.7446 EarningsPerShare 0 6.5200 15.5150 24.6200 15.7921 3.2653
入力引数
読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。
ファイルの場所によって、filename
は次のいずれかの形式をとります。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー、または MATLAB® パス上のフォルダー | ファイル名を 例: | ||||||||
フォルダー内のファイル | ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、 例: 例: | ||||||||
インターネット URL | ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、 例: | ||||||||
リモートの場所 | リモートの場所に保存されたファイルの場合、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
filename
にファイル拡張子が含まれる場合、インポート関数は拡張子からファイル形式を判別します。それ以外の場合は、名前と値のペアの引数'FileType'
を指定してファイルの種類を示さなければなりません。Microsoft® Excel® ソフトウェアがインストールされている Windows® システムで、インポート関数は、使用している Excel のバージョンで認識されるすべての Excel スプレッドシート ファイル形式を読み取ります。
システムに Excel for Windows がない場合、または MATLAB Online™ を使用している場合、インポート関数は
UseExcel
プロパティがfalse
に設定されている状態で動作し、.xls, .xlsx, .xlsm, .xltx, and .xltm
ファイルのみを読み取ります。区切りテキスト ファイルの場合、インポート関数はファイル内の空のフィールドを、
NaN
(数値変数の場合) または空の文字ベクトル (テキスト変数の場合) のどちらかに変換します。テキスト ファイルのすべての行には同じ数の区切り記号がなければなりません。インポート関数はファイル内の意味のない空白を無視します。圧縮ファイル形式はファイルとして読み取られます。アーカイブ ファイル形式はフォルダーとして扱われます。たとえば、関数は
mydatafiles.zip
をフォルダーとして解釈するため、その中にあるmydatafiles.zip/file1.xlsx
などのファイルを指定しなければなりません。.gz
拡張子で終わるファイルの場合、関数は.gz
の前にある拡張子を使用してファイル形式を判別します。たとえば、mydata.csv.gz
は CSV ファイルとして読み取られます。 (R2025a 以降)
データ型: char
| string
読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。
ファイルの場所によって、filename
は次のいずれかの形式をとります。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー、または MATLAB パス上のフォルダー | ファイル名を 例: | ||||||||
フォルダー内のファイル | ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、 例: 例: | ||||||||
インターネット URL | ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、 例: | ||||||||
リモートの場所 | リモートの場所に保存されたファイルの場合、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
filename
にファイル拡張子が含まれる場合、インポート関数は拡張子からファイル形式を判別します。それ以外の場合は、名前と値のペアの引数'FileType'
を指定してファイルの種類を示さなければなりません。Microsoft Excel ソフトウェアがインストールされている Windows システムで、インポート関数は、使用している Excel のバージョンで認識されるすべての Excel スプレッドシート ファイル形式を読み取ります。
システムに Excel for Windows がない場合、または MATLAB Online を使用している場合、インポート関数は
UseExcel
プロパティがfalse
に設定されている状態で動作し、.xls, .xlsx, .xlsm, .xltx, and .xltm
ファイルのみを読み取ります。区切りテキスト ファイルの場合、インポート関数はファイル内の空のフィールドを、
NaN
(数値変数の場合) または空の文字ベクトル (テキスト変数の場合) のどちらかに変換します。テキスト ファイルのすべての行には同じ数の区切り記号がなければなりません。インポート関数はファイル内の意味のない空白を無視します。
データ型: char
| string
ファイル インポート オプション。関数 detectImportOptions
によって作成された SpreadsheetImportOptions
、DelimitedTextImportOptions
、FixedWidthImportOptions
、または XMLImportOptions
オブジェクトとして指定します。opts
オブジェクトにはデータ インポートのプロセスを制御するプロパティが含まれています。各オブジェクトのプロパティの詳細については、該当するオブジェクトのページを参照してください。
ファイルの種類 | 出力 |
---|---|
スプレッドシート ファイル | SpreadsheetImportOptions オブジェクト (Sheet 、DataRange 、および VariableNames プロパティにのみ使用可能) |
テキスト ファイル | DelimitedTextImportOptions オブジェクト |
固定幅テキスト ファイル | FixedWidthImportOptions オブジェクト |
XML ファイル | XMLImportOptions オブジェクト |
インポートを制御する方法の詳細については、Control How MATLAB Imports Your Dataを参照してください。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: 'NumHeaderLines',5
は、表形式データの前の最初の 5 行がヘッダー行であることを示します。
サポートされるすべてのファイルの種類
HTTP
または HTTPS
要求オプション。weboptions
オブジェクトとして指定します。weboptions
オブジェクトは、指定した filename
がプロトコル タイプ "http://"
または "https://"
を含むインターネット URL である場合にデータをインポートする方式を決定します。
テキスト ファイルとスプレッドシート ファイル
ファイルの種類。'FileType'
と 'text'
または 'spreadsheet'
で構成されるコンマ区切りのペアとして指定します。
filename
にファイル拡張子が含まれない場合、または次の拡張子以外の場合は、名前と値のペアの引数 'FileType'
を指定します。
区切りテキスト ファイルの場合、
.txt
、.dat
または.csv
スプレッドシート ファイルの場合、
.xls
、.xlsb
、.xlsm
、.xlsx
、.xltm
,.xltx
または.ods
例: 'FileType','text'
データ型: char
| string
ファイルのヘッダーの行数。'NumHeaderLines'
と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、ファイル ヘッダーの行数はインポート関数により自動検出されます。
例: 'NumHeaderLines',7
データ型: single
| double
必要な変数の数。'ExpectedNumVariables'
と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、変数の数はインポート関数により自動検出されます。
データ型: single
| double
テキストまたはスプレッドシート ファイルから読み取るデータの部分。'Range'
と、次のいずれかの形式をとる文字ベクトル、string スカラー、または数値ベクトルで構成されるコンマ区切りのペアとして指定します。
Range の指定方法 | 説明 |
---|---|
開始セル
| 文字ベクトル、string スカラー、または 2 要素数値ベクトルとして、データの開始セルを指定します。
開始セルを使用して、インポート関数は、インポートを開始セルで開始し、最後の空の行またはフッター範囲で終了することで、データの範囲を自動的に検出します。 例: |
四角形の範囲
| 次の四角形の範囲フォームのいずれかを使用して、読み取る範囲を正確に指定します。
インポート関数は、指定された範囲内に含まれるデータのみを読み取ります。指定された範囲内の空のフィールドは欠損セルとしてインポートされます。 |
行範囲または列範囲
| Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。 インポート関数は、指定された行範囲を使用して、最初の空でない列からデータの最後まで読み取ることにより、列の範囲を自動的に検出し、列ごとに 1 つの変数を作成します。 例: あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。 インポート関数は、指定された列範囲を使用して、最初の空でない行からデータの最後またはフッター範囲まで読み取ることにより、行の範囲を自動的に検出します。 指定された範囲の列数は 例: |
開始行番号
| 正のスカラー行インデックスを使用して、データを含む最初の行を指定します。 インポート関数は、指定された行インデックスを使用して、指定された最初の行からデータの最後またはフッター範囲まで読み取ることにより、データの範囲を自動的に検出します。 例: |
Excel の名前付き範囲
| Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 例: |
指定なしまたは空
| 指定しない場合、使用範囲はインポート関数により自動検出されます。 例: メモ: "使用範囲" とは、スプレッドシート内で実際にデータが含まれている四角形部分を指します。インポート関数は、データを含まない先頭と末尾の行と列をすべてトリミングして、使用範囲を自動的に検出します。空白のみのテキストはデータと見なされ、使用範囲内に取得されます。 |
データ型: char
| string
| double
インポートされるテキスト データの型。次のいずれかの値として指定します。
"string"
— テキスト データを string 配列としてインポートします。"char"
— テキスト データを文字ベクトルとしてインポートします。
例: "TextType","char"
インポートされる日付と時刻のデータの型。次のいずれかの値として指定します。
値 | 説明 |
---|---|
"datetime" | MATLAB の 詳細については、 |
"text" |
|
"exceldatenum" | Excel のシリアル日付値 値 |
欠損データとして解釈するテキスト。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。
例: 'TreatAsMissing',{'NA','TBD'}
は、インポート関数に NA
または TBD
のすべての出現を欠損フィールドとして処理するように指示します。
データ型: char
| string
| cell
'ReadVariableNames'
と、true
または false
のいずれかで構成されるコンマ区切りのペアとして指定される最初の行を変数名として読み取ります。指定しない場合、インポート関数は変数名の有無を自動的に検出します。
インジケーター | 説明 |
---|---|
| 読み取る領域の最初の行にテーブルの変数名が含まれている場合に使用します。インポート関数は、検出した変数名を使用して |
| 読み取る領域の最初の行にテーブルのデータが含まれている場合に使用します。インポート関数は、形式 |
指定なし | 指定しない場合、インポート関数は true または false を自動的に検出し、それに応じて続行します。 |
opts
に加えて ReadVariableNames
の名前と値のペアを指定する場合、インポート関数は次のように続行します。
ReadVariableNames
がtrue
に設定されている場合、インポート関数は、インポート オプション オブジェクトのVariableNamesRange
またはVariableNamesLine
プロパティを使用して、指定されたファイルから変数名を読み取ります。ReadVariableNames
がfalse
に設定されている場合、インポート関数は、インポート オプション オブジェクトのVariableNames
プロパティから変数名を読み取ります。
データ型: logical
行時間変数。'RowTimes'
および変数名または時間ベクトルで構成されるコンマ区切りのペアとして指定します。
変数名は、
datetime
またはduration
の値を含む入力 table 内の任意の変数名を含む文字ベクトルまたは string スカラーでなければなりません。変数名で指定される変数は、行の行時間のラベルを提供します。入力 table の残りの変数は、timetable の変数になります。時間ベクトルは
datetime
ベクトルまたはduration
ベクトルでなければなりません。時間ベクトルの要素数は、入力 table の行数と等しくなければなりません。時間ベクトルの時間値は、一意であったり、並べ替えられていたり、規則的な値である必要はありません。入力 table のすべての変数は timetable の変数になります。
データ型: char
| string
| datetime
| duration
行時間のサンプル レート。'SampleRate'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。サンプル レートは、出力 timetable の時間ベクトルの 1 秒あたりのサンプル数 (Hz) です。
'SampleRate'
を使用して timetable の行時間ベクトルを指定する場合、既定の最初の行時間 (開始時間) はゼロ秒です。開始時間をゼロ以外に設定するには、'StartTime'
の名前と値のペアを指定します。
データ型: double
行時間の間のタイム ステップ。'TimeStep'
および duration スカラーまたは calendarDuration スカラーで構成されるコンマ区切りのペアとして指定します。'TimeStep'
パラメーターの値は、連続する行時間の間の時間の長さを指定します。インポート関数は、タイム ステップ値を使用して等間隔の行時間を計算します。
'TimeStep'
を使用して timetable の行時間ベクトルを指定する場合、既定の最初の行時間 (開始時間) はゼロ秒です。開始時間をゼロ以外に設定するには、'StartTime'
の名前と値のペアを指定します。
'TimeStep'
がカレンダー期間の値である場合、'StartTime'
は datetime 値でなければなりません。
データ型: duration
| calendarDuration
行時間の開始時間。StartTime
と、datetime スカラーまたは duration スカラーで構成されるコンマ区切りのペアとして指定します。
timetable の時間ベクトルを定義するには、'StartTime'
を 'SampleRate'
または 'TimeStep'
の名前と値のペアの引数と共に使用します。
開始時間のデータ型により、行時間ベクトルのデータ型が決まります。
開始時間が datetime 値の場合、timetable の行時間は datetime 値になる。
開始時間が duration 値の場合、行時間は duration になる。
データ型: datetime
| duration
変数名を保持するかどうかのフラグ。"modify"
または "preserve"
として指定します。
"modify"
— 無効な変数名 (関数isvarname
で判定) を、有効な MATLAB 識別子に変換。"preserve"
— スペースや非 ASCII 文字を含む変数名など、有効な MATLAB 識別子ではない変数名を保持。
R2019b 以降、変数名と行名には、スペースや非 ASCII 文字など任意の文字を含めることができます。また、英字だけでなく任意の文字で始めることができます。変数名と行名は、有効な MATLAB 識別子 (関数 isvarname
で判定) である必要はありません。これらの変数名と行名を保持するには、VariableNamingRule
の値を "preserve"
に設定します。VariableNamingRule
の値を "modify"
から "preserve"
に変更すると、変数名が更新されなくなります。
データ型: char
| string
テキスト ファイルのみ
区切りテキスト ファイル内のフィールドの区切り記号。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。
例: "Delimiter","|"
例: "Delimiter",[";","*"]
空白として扱う文字。1 文字以上が含まれる文字ベクトルまたは string スカラーとして指定します。
例: 'Whitespace',' _'
例: 'Whitespace','?!.,'
行末の文字。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。
例: "LineEnding","\n"
例: "LineEnding","\r\n"
例: "LineEnding",["\b",":"]
コメントのスタイル。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。単一行および複数行のコメントでは、開始識別子は空白以外の最初の文字でなければなりません。単一行のコメントでは、単一の識別子を指定して、その識別子で開始している行をコメントとして扱います。複数行のコメントでは、開始識別子 (最初のもの) から終了識別子 (2 番目のもの) までの行がコメントとして扱われます。識別子の文字ベクトルを 2 つまで指定できます。
たとえば、空白以外の最初の文字としてパーセント記号に続く行を無視するには、CommentStyle
を "%"
に指定します。
例: "CommentStyle",["/*"]
例: "CommentStyle",["/*","*/"]
ファイルに関連付けられた文字エンコード スキーム。'Encoding'
と 'system'
で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。エンコードを指定しない場合、関数 readtimetable
は自動文字セット検出を使用して、ファイルの読み取り時にエンコードを判断します。
インポート オプションに加えて引数 'Encoding'
を指定した場合、関数 readtimetable
は 'Encoding'
で指定された値を使用して、インポート オプションで定義されたエンコードをオーバーライドします。
例: 'Encoding','UTF-8'
は、UTF-8 をエンコードとして使用します。
例: 'Encoding','system'
はシステムの既定のエンコードを使用します。
データ型: char
| string
テキスト ファイルからの duration データの出力データ型。'DurationType'
と 'duration'
または 'text'
のいずれかで構成されるコンマ区切りのペアとして指定します。
値 | インポートされる duration データの型 |
---|---|
'duration' | MATLAB の 詳細については、 |
'text' |
|
データ型: char
| string
日付を読み取るロケール。'DateLocale'
と、
の形式の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。ここで、次のようになります。xx
_YY
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
区切りテキスト ファイル内の連続する区切り記号を管理する方法。次の表の値のいずれかとして指定します。
値 | 動作 |
---|---|
"split" | 連続する区切り記号を複数のフィールドに分割します。 |
"join" | 複数の区切り記号を結合して 1 つの区切り記号にします。 |
"error" | エラーを返し、インポート操作をキャンセルします。 |
区切りテキスト ファイル内の先頭の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
値 | 動作 |
---|---|
"keep" | 区切り記号を維持します。 |
"ignore" | 区切り記号を無視します。 |
"error" | エラーを返し、インポート操作をキャンセルします。 |
区切りテキスト ファイル内の末尾の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
先頭の区切り記号のルール | 動作 |
---|---|
'keep' | 区切り記号を維持します。 |
'ignore' | 区切り記号を無視します。 |
'error' | エラーを返し、インポート操作を中止します。 |
スプレッドシート ファイルのみ
読み取り元のシート。空の文字配列、シート名を含む文字ベクトルまたは string スカラー、あるいはシート インデックスを示す正の整数スカラーとして指定します。インポート関数は Sheet
プロパティに指定された値に基づいて、表に説明されているように動作します。
指定 | 動作 |
---|---|
'' (既定) | 1 番目のシートからデータをインポートします。 |
名前 | スプレッドシート ファイル内のシートの順序に関係なく、一致する名前のシートからデータをインポートします。 |
整数 | スプレッドシート ファイル内のシート名に関係なく、整数で示された位置にあるシートからデータをインポートします。 |
データ型: char
| string
| single
| double
スプレッドシート データを読み取るときに、Microsoft Excel for Windows のインスタンスを起動するためのフラグ。'UseExcel'
と、true
または false
のいずれかで構成されるコンマ区切りのペアとして指定します。
'UseExcel'
パラメーターは、次の値のいずれかに設定できます。
true
— インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動します。false
— インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動しません。このモードで動作しているインポート関数の機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。
UseExcel |
|
|
---|---|---|
サポートされているファイル形式 |
|
|
式やマクロなどの対話型機能のサポート | あり | なし |
Windows プラットフォームでスプレッドシート ファイルを読み取るときに Microsoft Excel のインスタンスを起動する場合は、'UseExcel'
パラメーターを true
に設定します。
UseExcel
は非対話型の自動化された環境ではサポートされません。
R2024b 以降
列間でセルをマージする場合のルール。次の表のいずれかの値として指定します。
インポート ルール | 動作 |
---|---|
"placeleft" | 一番左のセルにデータを配置し、残りのセルは
|
"placeright" | 一番右のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitrow" | マージされたセルがある行を除外します。 |
"error" | エラー メッセージを表示し、インポート操作をキャンセルします。 |
R2024b 以降
行間でセルをマージする場合のルール。次の表のいずれかの値として指定します。
インポート ルール | 動作 |
---|---|
"placetop" | 一番上のセルにデータを配置し、残りのセルは
|
"placebottom" | 一番下のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitvar" | マージされたセルがある変数を除外します。 |
"error" | エラー メッセージを表示し、インポート操作をキャンセルします。 |
XML ファイルのみ
属性接尾辞。'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'
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 の特定の行における繰り返し XML ノードの処理方法。'addcol'
、'ignore'
、または 'error'
として指定します。
繰り返しノードの規則 | 動作 |
---|---|
'addcol' | table の変数ヘッダーの下に繰り返しノード用の列を追加します。 |
'ignore' | 繰り返しノードはスキップしてインポートします。 |
'error' | エラー メッセージを表示し、インポート操作を中止します。 |
例: 'RepeatedNodeRule','ignore'
登録済みの XML 名前空間接頭辞のセット。RegisteredNamespaces
と接頭辞の配列で構成されるコンマ区切りのペアとして指定します。読み取り関数は、XML ファイルの XPath 式を評価する際にこれらの接頭辞を使用します。名前空間接頭辞とそれに関連付けられた URL を N 行 2 列の string 配列として指定します。RegisteredNamespaces
は、readstruct
の StructSelector
や readtable
と readtimetable
の VariableSelectors
など、セレクターの名前と値の引数で指定された 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"]
出力引数
ヒント
インポートする 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>
VariableSelectors
やTableSelector
などの 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
バージョン履歴
R2019a で導入圧縮ファイルおよびアーカイブ ファイルからデータを timetable として読み取ることができます。
スプレッドシートからデータをインポートするとき、readtimetable
で、名前と値の引数 MergedCellRowRule
および MergedCellColumnRule
を使用して、行間および列間でマージされたセルをどのようにインポートするかを指定できます。
参考
関数
ライブ エディター タスク
アプリ
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)