writetable
ファイルへの table の書き込み
説明
writetable(
は、table T
)T
をコンマ区切り形式のテキスト ファイルに書き込みます。ファイル名は table のワークスペースの変数名で、拡張子 .txt
が追加されます。writetable
が入力 table 名からファイルの名前を作成できない場合、ファイル table.txt
に書き込みます。
テキスト ファイルおよびスプレッドシート ファイルの場合、T の各変数の各列が出力ファイルの列になります。T
の変数名は、ファイルの最初の行の列見出しになります。
XML ファイルの場合、T
の各列が出力ファイルの 1 つの XML ノードになります。T
の変数の名前が出力 XML ファイルの要素ノードの名前になります。
writetable(___,
は、1 つ以上の Name,Value
)Name,Value
ペアの引数で指定された追加のオプションを使用して、table をファイルに書き込みます。前述の構文の任意の入力引数を含めることができます。
たとえば、変数名を出力ファイルの列見出しとして書き込むかどうかを指定することができます。
例
table をテキスト ファイルに書き込む
table を作成します。
T = table(['M';'F';'M'],[45 45;41 32;40 34],... {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
Var1 Var2 Var3 Var4
____ ________ ______ _____
M 45 45 {'NY'} true
F 41 32 {'CA'} false
M 40 34 {'MA'} false
table をコンマ区切り形式のテキスト ファイルに書き込んで、ファイルの内容を表示します。
writetable(T)
writetable
は、T.txt
という名前のテキスト ファイルを出力します。
type 'T.txt'
Var1,Var2_1,Var2_2,Var3,Var4 M,45,45,NY,1 F,41,32,CA,0 M,40,34,MA,0
writetable
は、対応するデータの 2 列上の変数名 Var2
に、一意の接尾辞を追加します。
table をスペース区切り形式のテキスト ファイルに書き込む
table を作成します。
T = table(['M';'F';'M'],[45 45;41 32;40 34],... {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
Var1 Var2 Var3 Var4
____ ________ ______ _____
M 45 45 {'NY'} true
F 41 32 {'CA'} false
M 40 34 {'MA'} false
table を myData.txt
という名前のスペース区切りの形式のテキスト ファイルに書き込んで、ファイルの内容を表示します。
writetable(T,'myData.txt','Delimiter',' ') type 'myData.txt'
Var1 Var2_1 Var2_2 Var3 Var4 M 45 45 NY 1 F 41 32 CA 0 M 40 34 MA 0
writetable
は、対応するデータの 2 列上の変数名 Var2
に、一意の接尾辞を追加します。
行名を含むテキスト ファイルへの table の書き込み
table を作成します。
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'}; Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80]; T = table(Age,Height,Weight,BloodPressure,... 'RowNames',LastName)
T=5×4 table
Age Height Weight BloodPressure
___ ______ ______ _____________
Smith 38 71 176 124 93
Johnson 43 69 163 109 77
Williams 38 64 131 125 83
Jones 40 67 133 117 75
Brown 49 64 119 122 80
table T
を myPatientData.dat
という名前のコンマ区切り形式のテキスト ファイルに書き込んで、ファイルの内容を表示します。
writetable(T,'myPatientData.dat','WriteRowNames',true) type 'myPatientData.dat'
Row,Age,Height,Weight,BloodPressure_1,BloodPressure_2 Smith,38,71,176,124,93 Johnson,43,69,163,109,77 Williams,38,64,131,125,83 Jones,40,67,133,117,75 Brown,49,64,119,122,80
行の名前を含んでいる最初の列には、Row
という列見出しが付けられています。これは、T.Properties.DimensionNames
プロパティからの table に対する最初の次元の名前です。
外国語の日付をテキスト ファイルに書き込む
table 内の英語の日付をドイツ語の日付に変換し、その table をファイルに書き込みます。
英語の日付を格納する datetime
配列を含む table を作成します。日付に対応する数値データの列ベクトルを作成します。
D = datetime({'01-Jan-2014';'01-Feb-2014';'01-Mar-2014'}); D.Format = 'dd MMMM yyyy'; X1 = [20.2;21.6;20.7]; X2 = [100.5;102.7;99.8]; T = table(D,X1,X2)
T = D X1 X2 ________________ ____ _____ 01 January 2014 20.2 100.5 01 February 2014 21.6 102.7 01 March 2014 20.7 99.8
table をテキスト ファイルに書き込みます。名前と値のペアの引数 DateLocale
を使用して日付のロケールにドイツ語を指定し、テキスト ファイルの日付を表示します。
writetable(T,'myfile.txt','DateLocale','de_DE'); type myfile.txt
D,X1,X2 01 Januar 2014,20.2,100.5 01 Februar 2014,21.6,102.7 01 März 2014,20.7,99.8
テキスト ファイルに英語以外の言語の文字を書き込む
データに英語以外の文字または非 ASCII 文字が含まれる場合は、必ずファイルが正しく書き込まれるように、エンコード パラメーターを使用します。まず、用意された table をワークスペースに読み込みます。次に、既定のエンコードを使用して table をファイルに書き込みます。最後に、'UTF-8'
エンコードを使用して table を書き込み、結果を確認します。
table T を含む Table_Japanese_Characters.mat
を読み込みます。table のプレビューを以下に示します。table には日本語の文字を含む 2 つの列があります。
load('Table_Japanese_Characters.mat')
table をファイルに書き込みます。関数 writetable
はファイルを書き込むときにシステムの既定のエンコードを使用します。結果はシステム設定によって異なる場合があります。結果のファイルを確認するために、関数 readtable
を使用して再度 table をワークスペースに読み込みます。writetable
は英語以外の文字を含む列 (1 と 3) の書き込みに失敗しています。
writetable(T,'myTable.txt') myTable = readtable('myTable.txt')
myTable=9×3 table
A B C
_____ ______ _______
'' 458.98 ''
'' 530.14 ''
'' 289.4 ''
'' 434.81 ''
'' 186.44 ''
'' 0 ''
'' 231.29 ''
'' 311.86 ''
'' 239.93 ''
table に英語以外の文字または非 ASCII 文字が含まれる場合は、必ずデータが正しく書き込まれるように、'Encoding'
パラメーターを使用しなければなりません。'Encoding'
を英語以外の様々な文字および非 ASCII 文字をサポートする 'UTF-8'
に設定します。結果のファイルを確認するために、関数 readtable
を使用して再度 table をワークスペースに読み込みます。正しいエンコード パラメーターを使うと、関数 writetable
によるデータの書き込みは正常に行われます。
writetable(T,'myTable_UTF8.txt','Encoding','UTF-8') myTable_UTF8 = readtable('myTable_UTF8.txt','Encoding','UTF-8')
myTable_UTF8=9×3 table
A B C
_______ ______ ___________
'南西' 458.98 '冬の嵐'
'南東' 530.14 '冬の嵐'
'南東' 289.4 '冬の嵐'
'西' 434.81 '機器の故障'
'中西部' 186.44 '深刻な嵐'
'西' 0 '攻撃'
'西' 231.29 '機器の故障'
'西' 311.86 '機器の故障'
'北東' 239.93 '火災'
引用符付きテキストの CSV ファイルへの書き込み
table を作成します。
T = table(['M';'F';'M'],[45;41;36],... {'New York, NY';'San Diego, CA';'Boston, MA'},[true;false;false])
T=3×4 table
Var1 Var2 Var3 Var4
____ ____ _________________ _____
M 45 {'New York, NY' } true
F 41 {'San Diego, CA'} false
M 36 {'Boston, MA' } false
myData.csv
という名前のコンマ区切り形式のテキスト ファイルに table を書き込んで、ファイルの内容を表示します。名前と値のペア引数 'QuoteStrings'
を使用して、3 列目のコンマが区切り記号として扱われることを確実に防ぎます。
writetable(T,'myData.csv','Delimiter',',','QuoteStrings','all') type 'myData.csv'
Var1,Var2,Var3,Var4 "M",45,"New York, NY",1 "F",41,"San Diego, CA",0 "M",36,"Boston, MA",0
スプレッドシートの特定のシートおよび範囲への table の書き込み
table を作成します。
T = table(['M';'F';'M'],[45 45;41 32;40 34],... {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
Var1 Var2 Var3 Var4
____ ________ ______ _____
M 45 45 {'NY'} true
F 41 32 {'CA'} false
M 40 34 {'MA'} false
myData.xls
という名前のスプレッドシートに table を書き込みます。最初のシートの B2
と F6
を角とする 5 行 5 列の領域にデータを入れます。ワークシートに対応するインデックスを指定して、書き込み先のワークシートを変更できます。
writetable(T,'myData.xls','Sheet',1,'Range','B2:F6')
Excel® は B6
から F6
のスプレッドシートの行を #N/A
で埋めます。これは指定された範囲が入力 table T
のサイズより大きいためです。
任意の変数名が含まれる表形式データの書き込み
スペースと非 ASCII 文字を含む、任意の文字を使用した変数名が含まれる表形式データを書き込むことができます。任意の変数名を含む table を作成し、table をテキスト ファイルに書き込みます。次に、元の変数名を保持しながら表形式データを読み戻します。
任意の変数名をもつ 3 つの変数を含む table を作成します。1 番目と 3 番目の変数名には、スペースや非 ASCII 文字が含まれています。
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
データをファイル 'sampletable.txt'
に書き込みます。
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
table の末尾にデータを追加
既存データをもつ table の末尾に新しい行としてデータを追加します。
table を作成します。
InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis';... 'American Bumblebee';'Blue Dasher Dragonfly'}; InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'}; InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae';... 'Apidae';'Libellulidae'}; PredatoryInsect = logical([0;1;1;0;1]); T = table(InsectSpecies,InsectOrder,InsectFamily,PredatoryInsect)
T=5×4 table
InsectSpecies InsectOrder InsectFamily PredatoryInsect
_________________________ _______________ _________________ _______________
{'Monarch Butterfly' } {'Lepidoptera'} {'Nymphalidae' } false
{'Seven-spot Ladybird' } {'Coleoptera' } {'Coccinellidae'} true
{'Orchid Mantis' } {'Mantodea' } {'Hymenopodidae'} true
{'American Bumblebee' } {'Hymenoptera'} {'Apidae' } false
{'Blue Dasher Dragonfly'} {'Odonata' } {'Libellulidae' } true
table T を InsectCollection.txt
というテキスト ファイルに書き込みます。
writetable(T,'InsectCollection.txt','WriteRowNames',true)
table の形式で新しいデータを作成して既存 table に追加します。
newInsect = table({'Red-banded leafhopper'},{'Hemiptera'},{'Cicadellidae'},logical([0]))
newInsect=1×4 table
Var1 Var2 Var3 Var4
_________________________ _____________ ________________ _____
{'Red-banded leafhopper'} {'Hemiptera'} {'Cicadellidae'} false
名前と値のペアの引数 'WriteMode','Append'
を使用して、newInsect
を InsectCollection.txt
に追加します。
writetable(newInsect,'InsectCollection.txt','WriteMode','Append',... 'WriteVariableNames',false,'WriteRowNames',true)
table をワークスペースに読み戻します。
readtable('InsectCollection.txt')
ans=6×4 table
InsectSpecies InsectOrder InsectFamily PredatoryInsect
_________________________ _______________ _________________ _______________
{'Monarch Butterfly' } {'Lepidoptera'} {'Nymphalidae' } 0
{'Seven-spot Ladybird' } {'Coleoptera' } {'Coccinellidae'} 1
{'Orchid Mantis' } {'Mantodea' } {'Hymenopodidae'} 1
{'American Bumblebee' } {'Hymenoptera'} {'Apidae' } 0
{'Blue Dasher Dragonfly'} {'Odonata' } {'Libellulidae' } 1
{'Red-banded leafhopper'} {'Hemiptera' } {'Cicadellidae' } 0
既存の列幅の保持
スプレッドシート ファイルの末尾にデータを追加する際に、ファイルの既存の列幅を保持します。
テキスト データをもつワークスペース変数を作成し、次に変数のコンテナーとして table を作成します。
state = {'Massachussetts';'California';'Minnesota';'Virginia'}; stateFlower = {'Trailing arbutus';'Golden Poppy';'Pink and White Lady''s Slipper';'Flowering dogwood'}; stateBird = {'Black-capped chickadee';'California Valley Quail';'Common Loon';'Cardinal'}; data = table(state,stateFlower,stateBird);
states_funfacts.xlsx
という名前のスプレッドシート ファイルに table を書き込みます。
writetable(data,'state_funfacts.xlsx')
別のテキスト データの table を作成します。
t = table({'Maryland';'New York'},{'Black-eyed Susan';'Rose'},{'Baltimore oriole';'Eastern bluebird'});
その table を既存のスプレッドシート ファイルに追加します。スプレッドシートの既存の列幅を保持するには、'AutoFitWidth'
を false
として指定します。
writetable(t,'state_funfacts.xlsx',"WriteMode","append","AutoFitWidth",false);
'AutoFitWidth'
を false
ではなく true
として指定すると、writetable
は元の列幅を保持せずに、書き込まれるデータに合わせてスプレッドシートの列幅を調整します。
既存のセルの書式設定の変更
既存のスプレッドシート ファイル内の行をスプレッドシートのセルの書式設定を保持せずに編集します。
スプレッドシート ファイル student_grades.xlsx
には書式設定されたセルが含まれています。すべてのセルには色の塗りつぶしと境界線があり、ヘッダー セルには太字のフォントがあります。
テキスト データと数値データをもつ table を作成します。
Student = {'Mary';'John'}; Grade = [95;87]; t = table(Student,Grade)
t=2×2 table
Student Grade
________ _____
{'Mary'} 95
{'John'} 87
既存のスプレッドシート ファイルを入力データの table で更新します。スプレッドシート ファイルの既存のセルの書式設定を無視するには 'PreserveFormat'
を false
として指定します。これを行うと、student_grades.xlsx
は次のように変更されます。
writetable(t,'student_grades.xlsx','PreserveFormat',false);
既存のスプレッドシート ファイルにデータを書き込む際に 'PreserveFormat'
を false
ではなく true
として指定すると、writetable
はスプレッドシートの既存のセルの書式設定を保持します。
writetable(t,'student_grades.xlsx','PreserveFormat',true);
table を XML ファイルに書き込む
データの table を作成し、それを XML ファイルに書き込みます。追加の名前と値の引数を指定して、writetable
が table のデータを XML ファイルに書き込む方法をカスタマイズします。
データの table を作成します。
InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis'; ... 'American Bumblebee';'Blue Dasher Dragonfly'}; InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'}; InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae'; ... 'Apidae';'Libellulidae'}; PredatoryInsect = logical([0;1;1;0;1]); T = table(InsectOrder,InsectFamily,PredatoryInsect); T.Properties.RowNames = InsectSpecies; head(T,5)
InsectOrder InsectFamily PredatoryInsect _______________ _________________ _______________ Monarch Butterfly {'Lepidoptera'} {'Nymphalidae' } false Seven-spot Ladybird {'Coleoptera' } {'Coccinellidae'} true Orchid Mantis {'Mantodea' } {'Hymenopodidae'} true American Bumblebee {'Hymenoptera'} {'Apidae' } false Blue Dasher Dragonfly {'Odonata' } {'Libellulidae' } true
table T
を InsectCollection.xml
という名前の XML ファイルに書き込みます。'WriteRowNames'
を true
として指定して、table の行の名前を書き込みます。行名が Row
要素ノードに属するフィールドとして出力 XML ファイルに表示されます。
'RowNodeName'
の値として 'Insect'
を指定して、XML ファイル内のノード名をカスタマイズします。
writetable(T,'InsectCollection.xml',"WriteRowNames",false,"RowNodeName","Insect")
ファイル InsectCollection.xml
の内容を表示します。
type InsectCollection.xml
<?xml version="1.0" encoding="UTF-8"?> <table> <Insect> <InsectOrder>Lepidoptera</InsectOrder> <InsectFamily>Nymphalidae</InsectFamily> <PredatoryInsect>false</PredatoryInsect> </Insect> <Insect> <InsectOrder>Coleoptera</InsectOrder> <InsectFamily>Coccinellidae</InsectFamily> <PredatoryInsect>true</PredatoryInsect> </Insect> <Insect> <InsectOrder>Mantodea</InsectOrder> <InsectFamily>Hymenopodidae</InsectFamily> <PredatoryInsect>true</PredatoryInsect> </Insect> <Insect> <InsectOrder>Hymenoptera</InsectOrder> <InsectFamily>Apidae</InsectFamily> <PredatoryInsect>false</PredatoryInsect> </Insect> <Insect> <InsectOrder>Odonata</InsectOrder> <InsectFamily>Libellulidae</InsectFamily> <PredatoryInsect>true</PredatoryInsect> </Insect> </table>
WriteRowNames
を true
として指定しない場合、writetable
はファイルへの table の行名の書き込みをスキップします。
入力引数
T
— 入力データ
table
入力データ。table として指定します。
filename
— ファイル名
文字ベクトル | string スカラー
ファイル名。文字ベクトルまたは string スカラーとして指定します。
書き込み先の場所によって、filename
は次のいずれかの形式にできます。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー | 現在のフォルダーに書き込むには、ファイルの名前を 例: | ||||||||
その他のフォルダー | 現在のフォルダーとは異なるフォルダーに書き込むには、絶対パス名または相対パス名を 例: 例: | ||||||||
リモートの場所 | リモートの場所に書き込むには、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
filename
にファイル拡張子が含まれる場合、書き込み関数は拡張子からファイル形式を判別します。そうでない場合、書き込み関数はコンマ区切りのテキスト ファイルを作成し、拡張子.txt
を追加します。代替方法として、ファイル拡張子を付けずにfilename
を指定し、'FileType'
名前と値のペアの引数を含めてファイルの種類を示すことができます。
filename
が存在しない場合、書き込み関数がファイルを作成します。filename
が既存のテキスト ファイルの名前である場合、書き込み関数はそのファイルを上書きします。filename
が既存のスプレッドシート ファイルの名前である場合、書き込み関数はそのデータを指定した場所に書き込みますが、入力データの範囲外にあるいずれの値も上書きしません。
データ型: char
| string
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'WriteVariableNames',false
は、変数名が出力ファイルの最初の行として含まれないようにすることを示します。
WriteRowNames
— 行名を書き込むかどうかのインジケーター
false
(既定値) | true
行名を書き込むかどうかのインジケーター。'WriteRowNames'
と false
または true
のいずれかで構成されるコンマ区切りのペアとして指定します。
インジケーター | 動作 |
---|---|
|
|
| テキスト ファイルおよびスプレッドシート ファイルの場合、
XML ファイルの場合、 |
DateLocale
— 日付を書き込むためのロケール
文字ベクトル | string スカラー
日付を書き込むためのロケール。'DateLocale'
と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。datetime
値をファイルに書き込む場合、DateLocale
を使用して writetable
が月と曜日の名前および略語を書き込むロケールを指定します。
の形式の文字ベクトルまたは string。xx
_YY
xx
は ISO 639-1 で定義された小文字 2 文字の言語コードで、YY
は ISO 3166-1 alpha-2 で定義された大文字の国コードです。ロケールの一般的な値の一覧については、関数 datetime
の Locale
の名前と値のペア引数を参照してください。
日付が Excel 形式の日付として記述できる場合、書き込み関数は常に 'DateLocale'
パラメーターの値を無視します。
例: 'DateLocale','ja_JP'
データ型: char
| string
FileType
— ファイルの種類
'text'
| 'spreadsheet'
| 'xml'
ファイルの種類。'FileType'
と、'text'
、'spreadsheet'
、または 'xml'
を含む文字ベクトルまたは string から構成されるコンマ区切りのペアとして指定します。
'FileType'
名前と値ペアは、filename
入力引数と一緒に使用しなければなりません。filename
入力引数に標準のファイル拡張子が含まれている場合、'FileType'
の名前と値のペアの引数を指定する必要はありません。次の標準のファイル拡張子は、書き込み関数で認識されます。
区切りテキスト ファイルの場合、
.txt
、.dat
または.csv
Excel スプレッドシート ファイルの場合、
.xls
、.xlsm
または.xlsx
Excel for Windows を備えたシステムでサポートされる Excel スプレッドシート ファイルの場合、
.xlsb
XML ファイルの場合、
.xml
。
例: 'FileType','spreadsheet'
データ型: char
| string
WriteVariableNames
— 変数名を列見出しとして書き込むためのインジケーター
true
(既定値) | false
変数名を列見出しとして書き込むためのインジケーター。'WriteVariableNames'
と、true
または false
のいずれかで構成されるコンマ区切りのペアとして指定します。
インジケーター | 動作 |
---|---|
| 書き込み関数は、変数名を出力の列見出しとして含めます。これは既定の動作です。 |
| 書き込み関数は出力に変数名を含めません。 |
WriteMode
— 書き込みモード
文字ベクトル | string スカラー
書き込みモード。'WriteMode'
と、文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。ファイルの種類に基づいて、書き込みモードを選択します。
ファイルの種類 | 書き込みモード |
---|---|
テキスト ファイル |
指定したファイルが存在しない場合、書き込み関数は新しいファイルを作成してデータを書き込みます。 |
スプレッドシート ファイル |
|
WriteVariableNames
がtrue
である場合、書き込み関数は書き込みモード'append'
をサポートしません。スプレッドシート ファイルの場合、次となります。
書き込みモードが
'append'
である場合、書き込み関数はRange
パラメーターをサポートしません。指定したファイルが存在しない場合、書き込み関数は
'replacefile'
と同じアクションを実行します。
例: 'WriteMode','append'
データ型: char
| string
Encoding
— 文字エンコード スキーム
'UTF-8'
(既定値) | 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...
ファイルに関連付けられた文字エンコード スキーム。'Encoding'
と 'system'
で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。エンコードを何も指定しない場合、書き込み関数は UTF-8 を使用してファイルに書き込みます。
例: 'Encoding','UTF-8'
は、UTF-8 をエンコードとして使用します。
データ型: char
| string
Delimiter
— フィールドの区切り記号
文字ベクトル | string スカラー
フィールドの区切り記号。'Delimiter'
と、次の指定子のいずれかを含む文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
指定子 | フィールドの区切り記号 |
---|---|
| コンマ。これは既定の動作です。 |
| スペース |
| タブ |
| セミコロン |
| 縦棒 |
'Delimiter'
名前と値のペアは区切り付きテキスト ファイルに対してのみ使用できます。
例: 'Delimiter','space'
データ型: char
| string
QuoteStrings
— 引用符付きテキスト書き込みのインジケーター
"minimal"
(既定値) | "all"
| "none"
引用符付きテキスト書き込みのインジケーター。"minimal"
、"all"
、または "none"
として指定します。
QuoteStrings
が"minimal"
の場合、この関数は区切り記号、行末、または二重引用符が含まれるすべての変数を二重引用符で囲みます。QuoteStrings
が"all"
の場合、この関数はすべてのテキスト変数、categorical 変数、datetime 変数、duration 変数を二重引用符で囲みます。QuoteStrings
が"none"
の場合、この関数は変数を二重引用符で囲みません。
名前と値の引数 QuoteStrings
は、区切り形式のテキスト ファイルでのみ使用できます。
Sheet
— 書き込み先のワークシート
文字ベクトル | string スカラー | 正の整数
書き込み先のワークシート。'Sheet'
と、ワークシート名またはワークシート インデックスを示す正の整数を含む文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。ワークシート名にコロン (:
) を含めることはできません。スプレッドシート ファイルのシートの名前を調べるには、sheets = sheetnames(filename)
を使用します。詳細については、sheetnames
を参照してください。
書き込み先のワークシートを、名前またはインデックスで指定します。
名前 — 指定したシート名がファイルに存在しない場合、書き込み関数がワークシート コレクションの最後に新しいシートを追加します。
インデックス — 指定したシート インデックスがワークシート数より大きい場合、書き込み関数が、ワークブック内のワークシートの数がシート インデックスと等しくなるまで空のシートを追加します。書き込み関数は新しいワークシートが追加されたことを示す警告も生成します。
'Sheet'
名前と値のペアはスプレッドシート ファイルでのみ使用できます。
例: 'Sheet'
,2
例: 'Sheet'
, 'MySheetName'
データ型: char
| string
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Range
— 書き込み対象のワークシートの四角形部分
文字ベクトル | string スカラー
書き込み対象のワークシートの四角形部分。'Range'
と、次のいずれかの形式の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
Range の値の形式 | 説明 |
---|---|
' |
例: |
' |
例:
|
'Range'
名前と値のペアは、Excel ファイルと一緒にのみ使用できます。
例: 'Range'
, 'A1:F10'
データ型: char
| string
UseExcel
— Microsoft® Excel for Windows のインスタンスを起動するためのフラグ
false
(既定値) | true
スプレッドシート データを書き込むときに、Windows 版 Microsoft Excel のインスタンスを起動するためのフラグ。'UseExcel'
と、true
または false
のいずれかで構成されるコンマ区切りのペアとして指定します。
'UseExcel'
パラメーターは、次の値のいずれかに設定できます。
true
— 書き込み関数はファイルを書き込むときに Microsoft Excel のインスタンスを起動します。false
— 書き込み関数はファイルを書き込むときに Microsoft Excel のインスタンスを起動しません。このモードで動作している書き込み機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。
UseExcel |
|
|
---|---|---|
サポートされているファイル形式 |
|
|
式やマクロなどの対話型機能のサポート | あり | なし |
Windows プラットフォームでスプレッドシート ファイルに書き込むときに、Microsoft Excel のインスタンスを起動するには、'UseExcel'
パラメーターを true
に設定します。
UseExcel
は非対話型の自動化された環境ではサポートされません。
AutoFitWidth
— 列幅の自動調整
true
(既定値) | false
列幅の自動調整。true
または false
として指定します。0
の値または false
を指定すると、writetable
はセルのデータに合わせる列幅の自動調整を行いません。
例: 'AutoFitWidth'
,0
PreserveFormat
— セルの書式設定の保持
true
(既定値) | false
既存スプレッドシートのセルの書式設定の保持。true
または false
として指定します。false
を指定すると、writetable
はスプレッドシートのセルの書式設定を保持しません。書式設定には、フォント、セルの境界線、色付きのセルなどの要素が含まれます。
datetime
データをスプレッドシート ファイルに書き込む場合、既存のセルの書式設定を保持するには、'PreserveFormat'
と 'UseExcel'
の両方の名前と値のペアを true
に設定しなければなりません。datetime
データをファイルに書き込む際に 'UseExcel'
が false
に、'PreserveFormat'
が true
に設定されていると、writetable
はファイルの既存のセルの書式設定を保持しません。
例: 'PreserveFormat'
,false
AttributeSuffix
— 属性接尾辞
'Attribute'
(既定値) | 文字ベクトル | string スカラー
属性接尾辞。'AttributeSuffix'
と、出力 XML ファイルで属性として書き込む入力 table の変数名を示す文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
たとえば、入力 table の変数名 AttName_att
について、'AttributeSuffix','_att'
を指定して、'AttName'
が出力 XML ファイルで属性として書き込まれる必要があることを示します。
'AttributeSuffix'
を指定しない場合、writetable
は既定で出力 XML ファイルで属性として変数を接尾辞'Attribute'
を付けて書き込みます。'AttributeSuffix'
の値として指定される属性が入力 table の変数名に追加される接尾辞に一致する場合、その接尾辞は出力 XML ファイルの変数名から除かれます。たとえば、'AttributeSuffix','_att'
を指定する場合、MyField_att
という名前の入力 table の変数は XML ファイルのMyField
という属性に対応します。
例: 'AttributeSuffix','_att'
RowNodeName
— XML 行ノード名
'row'
| string 配列
XML 行ノード名。'RowNodeName'
と、書き込み関数が出力 XML ファイルに入力 table の行に対応するノード名として書き込む文字ベクトルまたは string スカラーのいずれかで構成されるコンマ区切りのペアとして指定します。RowNodeName
を指定しない場合、書き込み関数は出力 table に行ノードの名前として 'row'
を書き込みます。
例: 'TableNodeName','RootName'
TableNodeName
— XML ルート ノード名
'table'
(既定値) | 文字ベクトル | string 配列
XML ルート ノード名。'TableNodeName'
と、書き込み関数が出力 XML ファイルにルート ノード名として書き込む文字ベクトルまたは string スカラーのいずれかで構成されるコンマ区切りのペアとして指定します。TableNodeName
を指定しない場合、書き込み関数は出力 table にルート ノードの名前として 'table'
を書き込みます。
例: 'TableNodeName','RootName'
制限
writetable
は入れ子の table の書き込みをサポートしません。入れ子の table については、書き込む前にsplitvars
を使用して複数列の変数を 1 列の変数に分割してください。
ヒント
スプレッドシート ファイルに空のシートを作成: スプレッドシート ファイルに空のシートを作成するには、
writetable
を使用して空の table を書き込みます。たとえば、'MySheetName'
という名前の空のシートを作成します。または、writetable(table(),'empty.xls','Sheet','MySheetName')
'Sheet1'
、'Sheet2'
、'Sheet3'
という名前の 3 つの空のシートを作成します。writetable(table(),'empty.xls','Sheet',3)
アルゴリズム
'WriteVariableNames'
と'WriteRowNames'
の両方の論理インジケーターがtrue
の場合、関数writetable
は出力の最初の列の列見出しとして、T.Properties.DimensionNames
プロパティから最初の次元の名前を使用します。Excel は
Inf
値を65535
に変換します。MATLAB® はNaN
、NaT
、categorical 値<undefined>
および string 値<missing>
を空のセルに変換します。Excel ファイルの場合、
writetable
はdatetime
配列を含むtable
変数を Excel の日付として書き込みます。table
に含まれるdatetime
配列に 1900 年または 1904 年よりも前の年がある場合、writetable
は変数をテキストとして書き込みます。Excel の日付の詳細については、Excel の 1900 年と 1904 年の日付システムの違いを参照してください。場合によっては、関数
writetable
で作成したファイルがT
を正確に表していないことがあります。これは、readtable
を使用してそのファイルを読み取ったときに判明します。結果の table の形式または内容が元の table とは異なることがあります。table を保存し、後で元の table と厳密に一致する同一のデータおよび構成を復元する必要がある場合は、MAT ファイルとして保存します。次の場合に、writetable
が書き込む table は厳密に一致しません。テキスト ファイルを書き込む場合、
writetable
は、long g
形式を使用して数値変数を出力し、categorical 変数や文字変数は、引用符で囲まれない文字として出力します。複数の列がある変数の場合、
writetable
は列見出しとして使用する変数名に一意の識別子を追加します。3 つ以上の次元が存在する出力変数の場合、
writetable
はこれらの変数を、後続の次元がたたまれた 2 次元として出力します。たとえば、writetable
は 4×3×2 の変数を、4 行 6 列のサイズとして出力します。cell
データ型の変数の場合、writetable
は各セルの内容を複数フィールド内の単一行として出力します。内容が数値、論理値、文字またはカテゴリカル以外の場合、writetable
は単一の空フィールドを出力します。
バージョン履歴
R2013b で導入
参考
table
| readtable
| writecell
| writetimetable
| writematrix
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)