wordDocumentImportOptions
説明
WordDocumentImportOptions オブジェクトでは、MATLAB® が構造化された表形式データを Microsoft® Word ドキュメント ファイルからインポートする方法を指定できます。オブジェクトには、エラーおよび欠損データの処理を含む、データのインポート プロセスを制御するプロパティが含まれています。
作成
WordDocumentImportOptions オブジェクトは、関数 wordDocumentImportOptions (ここで説明します) または関数 detectImportOptions により作成できます。
wordDocumentImportOptionsは、インポートの要件に基づいてインポート プロパティを定義する場合に使用します。detectImportOptionsは、filenameで指定した Microsoft Word ドキュメント ファイルの内容に基づいてインポート プロパティを検出して入力する場合に使用します。opts = detectImportOptions(filename)
構文
説明
入力引数
変数の数。正のスカラー整数として指定します。
プロパティ
変数プロパティ
変数名。文字ベクトルの cell 配列または string 配列として指定します。VariableNames プロパティには、変数のインポート時に使用する名前が含まれます。
データに N 個の変数が含まれているが変数名が指定されない場合、VariableNames プロパティには {'Var1','Var2',...,'VarN'} が含まれます。
スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule の値を 'preserve' に設定します。
例: opts.VariableNames は、現在の (検出された) 変数名を返します。
例: opts.VariableNames(3) = {'Height'} は 3 番目の変数の名前を Height に変更します。
データ型: char | string | cell
変数名を保持するかどうかのフラグ。"modify" または "preserve" として指定します。
"modify"— 無効な変数名 (関数isvarnameで判定) を、有効な MATLAB 識別子に変換。"preserve"— スペースや非 ASCII 文字を含む変数名など、有効な MATLAB 識別子ではない変数名を保持。
R2019b 以降、変数名と行名には、スペースや非 ASCII 文字など任意の文字を含めることができます。また、英字だけでなく任意の文字で始めることができます。変数名と行名は、有効な MATLAB 識別子 (関数 isvarname で判定) である必要はありません。これらの変数名と行名を保持するには、VariableNamingRule の値を "preserve" に設定します。VariableNamingRule の値を "modify" から "preserve" に変更すると、変数名が更新されなくなります。
変数のデータ型。一連の有効なデータ型の名前を含む文字ベクトルの cell 配列または string 配列として指定します。VariableTypes プロパティは、変数のインポート時に使用するデータ型を指定します。
VariableTypes プロパティを更新するには、関数 setvartype を使用します。
例: opts.VariableTypes は、現在の変数のデータ型を返します。
例: opts = setvartype(opts,'Height',{'double'}) は、変数 Height のデータ型を double に変更します。
インポートする変数のサブセット。文字ベクトル、string スカラー、文字ベクトルの cell 配列、string 配列、または数値インデックスの配列として指定します。
SelectedVariableNames は VariableNames プロパティに含まれる名前のサブセットでなければなりません。既定では、SelectedVariableNames には VariableNames プロパティからのすべての変数名が含まれます。つまり、すべての変数がインポートされることを意味します。
特定の変数のみをインポートするには、SelectedVariableNames プロパティを使用します。SelectedVariableNames プロパティを使用して変数のサブセットを指定し、readtable を使用してそのサブセットのみをインポートします。
スペースおよび非 ASCII 文字を含む変数名など、無効な MATLAB 識別子を変数名としてサポートするには、VariableNamingRule の値を 'preserve' に設定します。
例: opts.SelectedVariableNames = {'Height','LastName'} は、インポート操作のために 2 つの変数 Height と LastName のみを選択します。
例: opts.SelectedVariableNames = [1 5] は、インポート操作のために最初の変数と 5 番目の変数の 2 つの変数のみを選択します。
例: T = readtable(filename,opts) は、opts オブジェクトの SelectedVariableNames プロパティで指定された変数のみを含む table を返します。
データ型: uint16 | uint32 | uint64 | char | string | cell
型固有の変数のインポート オプション。変数インポート オプション オブジェクトの配列として返されます。配列には、VariableNames プロパティで指定された各変数に対応するオブジェクトが含まれます。配列の各オブジェクトには、特定のデータ型でのデータのインポートをサポートするプロパティが含まれます。
変数オプションは、数値、テキスト、logical、datetime または categorical のデータ型をサポートします。
変数の現在の (または検出された) オプションをクエリするには、関数 getvaropts を使用します。
変数にオプションを設定してカスタマイズするには、関数 setvaropts を使用します。
例: opts.VariableOptions は、データの各変数に対応する VariableImportOptions オブジェクトの集合を返します。
例: getvaropts(opts,'Height') は、変数 Height の VariableImportOptions オブジェクトを返します。
例: opts = setvaropts(opts,'Height','FillValue',0) は変数 Height の FillValue プロパティを 0 に設定します。
位置プロパティ
table データの XPath 式。文字ベクトルまたは string スカラーとして指定します。読み取り関数は、これを使用して出力 table のデータを選択します。TableSelector には有効な XPath Version 1.0 の式を指定しなければなりません。
次の表に、Microsoft Word ドキュメント ファイル内の table を選択するための XPath 式の例をいくつか示します。
| 説明 | TableSelector |
|---|---|
| テキスト "Cash dividends" を含む table | "//w:tbl[contains(.,'Cash dividends')]" |
| 行数が 10 を超える 2 番目の table | "//w:tbl[count(w:tr)>10][2]" |
| ヘッダー cell が "Description" と完全に一致する table | "//w:tbl[w:tr[1]/w:tc='Description']" |
例: 'TableSelector',"//w:tbl[contains(.,'Cash dividends')]"
データの場所。正のスカラー整数または正のスカラー整数の N- 行 -2 列の配列として指定します。これらの形式の 1 つを使用して DataRows を指定します。
次として指定 | 説明 |
|---|---|
| データが含まれる "最初の行" を指定します。
|
| データが含まれる "行の範囲" を指定します。 配列 |
| "複数の行範囲" を指定して、 有効な複数の行範囲の配列は、次でなければなりません。
複数の行範囲を指定するときは、配列内で最後の行範囲の末尾を指定する場合にのみ |
例: opts.DataRows = 5 は、DataRows プロパティを [5 inf] の値に設定します。行 5 からファイル終端までのデータ行をすべて読み取ります。
例: opts.DataRows = [2 6] は、行 2 から行 6 までを読み取るプロパティを設定します。
例: opts.DataRows = [1 3; 5 6; 8 inf] は 1、2、3、5、6 の各行と 8 からファイル終端までのすべての行を読み取るプロパティを設定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
行名の位置。正のスカラー整数として指定します。RowNamesColumn プロパティは行名を含む列の位置を指定します。
RowNamesColumn を 0 として指定した場合は、行名をインポートしません。それ以外の場合、行名を指定された列からインポートします。
例: opts.RowNamesColumn = 2;
データ型: single | double | uint8 | uint16 | uint32 | uint64
変数の名前を含む行。非負の整数として指定します。VariableNamesRow プロパティは変数名がある位置の行番号を指定します。
VariableNamesRow が 0 の場合は、変数名をインポートしません。それ以外の場合、指定された行から変数名をインポートします。
例: opts.VariableNamesRow = 6;
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
変数の単位を含む行。非負の整数として指定します。
VariableUnitsRow が 0 の場合、変数の単位はインポートされません。それ以外の場合、指定した行から変数の単位がインポートされます。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
変数の説明を含む行。非負の整数として指定します。
VariableDescriptionsRow が 0 の場合、変数の説明はインポートされません。それ以外の場合、指定した行から変数の説明がインポートされます。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
置換ルール
欠損データを管理する方法。次の表のいずれかの値として指定します。
| 欠損ルール | 動作 |
|---|---|
'fill' | 欠損データを
|
'error' | インポートを停止し、欠損しているレコードとフィールドを示すエラー メッセージを表示します。 |
'omitrow' | 欠損データを含む行を除外します。 |
'omitvar' | 欠損データを含む変数を除外します。 |
例: opts.MissingRule = 'omitrow';
データ型: char | string
データ内の空行を処理する手続き。"skip"、"read"、または "error" として指定します。インポート関数は空白を空として解釈します。
| 空行のルール | 動作 |
|---|---|
"skip" | 空行をスキップします。 |
"read" | 空行をインポートします。インポート関数は、VariableOptions、MissingRule、およびその他の関連するプロパティに指定された値を使用して、空の行を解析します。 |
"error" | エラー メッセージを表示し、インポート操作を中止します。 |
インポート エラーを処理する方法。次の表のいずれかの値として指定します。
| インポート エラー ルール | 動作 |
|---|---|
'fill' | エラーが発生したデータを
|
'error' | インポートを停止し、エラーの原因となるレコードとフィールドを示すエラー メッセージを表示します。 |
'omitrow' | エラーが発生した行を除外します。 |
'omitvar' | エラーが発生した変数を除外します。 |
例: opts.ImportErrorRule = 'omitvar';
データ型: char | string
データ内の余分な列を処理する方法。次の表のいずれかの値として指定します。
| 余分な列のルール | 動作 |
|---|---|
'addvars' | 余分な列をインポートするには、新しい変数を作成します。余分な列が |
'ignore' | データの余分な列を無視します。 |
'wrap' | データの余分な列を新しいレコードにラップします。このアクションで変数の数は変わりません。 |
'error' | エラー メッセージを表示し、インポート操作を中止します。 |
データ型: char | string
列がマージされたセルの処理方法。次の表のいずれかの値として指定します。
| インポート ルール | 動作 |
|---|---|
"placeleft" | 一番左のセルにデータを配置し、残りのセルは
|
"placeright" | 一番右のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitrow" | マージされたセルがある行を除外します。 |
"error" | エラー メッセージを表示し、インポート操作を中止します。 |
例: "MergedCellColumnRule","placeright"
行がマージされたセルの処理方法。次の表のいずれかの値として指定します。
| インポート ルール | 動作 |
|---|---|
"placetop" | 一番上のセルにデータを配置し、残りのセルは
|
"placebottom" | 一番下のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitvar" | 行がマージされた変数を除外します。 |
"error" | エラー メッセージを表示し、インポート操作を中止します。 |
例: "MergedCellRowRule","duplicate"
オブジェクト関数
例
Microsoft Word ドキュメント ファイルのインポート オプションを作成し、インポートする table を指定してから、データを読み取ります。
ファイル MaintenanceReport.docx には table が 2 つ含まれています。2 つ目の table の最後の行に、table の変数と一致しない、列がマージされたセルがあります。
WordDocumentImportOptions オブジェクトを作成します。
table から 5 つの変数を読み取ります。
XPath クエリ
"//w:tbl[contains(.,'Description')]"を使用して、"Description" という単語を含む最初の table を読み取ります。最初の行から変数名を読み取ります。
列がマージされたセルがある行の読み取りをスキップします。
opts = wordDocumentImportOptions( ... 'NumVariables',5, ... 'TableSelector',"//w:tbl[contains(.,'Description')]", ... 'VariableNamesRow',1, ... 'MergedCellColumnRule','omitrow')
opts =
WordDocumentImportOptions with properties:
Replacement Properties:
MissingRule: "fill"
ImportErrorRule: "fill"
EmptyRowRule: "skip"
MergedCellColumnRule: "omitrow"
MergedCellRowRule: "placetop"
ExtraColumnsRule: "addvars"
Variable Import Properties: Set types by name using setvartype
VariableNames: ["Var1" "Var2" "Var3" "Var4" "Var5"]
VariableTypes: ["char" "char" "char" "char" "char"]
SelectedVariableNames: ["Var1" "Var2" "Var3" "Var4" "Var5"]
VariableOptions: Show all 5 VariableOptions
Access VariableOptions sub-properties using setvaropts/getvaropts
VariableNamingRule: "preserve"
Location Properties:
TableSelector: "//w:tbl[contains(.,'Description')]"
DataRows: [1 Inf]
VariableNamesRow: 1
VariableUnitsRow: 0
VariableDescriptionsRow: 0
RowNamesColumn: 0
関数 readtable でオプション オブジェクトを使用して、Microsoft Word ドキュメント ファイルから table を読み取ります。
filename = "MaintenanceReport.docx";
T = readtable(filename,opts)T=4×5 table
Description Category Urgency Resolution Cost
_______________________________________________________________________ ______________________ ___________ ____________________ __________
{'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'}
バージョン履歴
R2021b で導入
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)