ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

writetable

ファイルへのテーブルの書き込み

構文

  • writetable(T)
  • writetable(T,filename)
  • writetable(___,Name,Value)

説明

writetable(T) は、テーブル T をコンマ区切り形式のテキスト ファイルに書き込みます。ファイル名はテーブルのワークスペースの変数名で、拡張子 .txt が追加されます。writetable が入力テーブル名からファイルの名前を作成できない場合、ファイル table.txt に書き込みます。

T の各変数の各列は、出力ファイルの 1 つの列になります。T の変数名は、ファイルの最初の行の列見出しになります。

writetable(T,filename) はテーブル T を、filename で指定された名前と拡張子のファイルに書き込みます。

writetable は、指定された拡張子に基づいてファイル形式を判別します。拡張子は、次のいずれかでなければなりません。

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

  • Excel® スプレッドシート ファイルの場合、.xls または .xlsx

writetable(___,Name,Value) は、1 つまたは複数の Name,Value ペア引数で指定された追加のオプションを使用して、テーブルをファイルに書き込みます。前述の構文の任意の入力引数を含めることができます。

たとえば、変数名を出力ファイルの列見出しとして書き込むかどうかを指定することができます。

すべて展開する

テーブルをテキスト ファイルに書き込む

テーブルを作成します。

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T = 
    Var1         Var2         Var3    Var4 
    ____    ______________    ____    _____
    M       45          45    'NY'    true 
    F       41          32    'CA'    false
    M       40          34    'MA'    false

テーブル T をコンマ区切り形式のテキスト ファイルに書き込みます。

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 に、一意の接尾辞を追加します。

スペース区切りテキスト ファイルへのテーブルの書き込み

テーブルを作成します。

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T = 
    Var1         Var2         Var3    Var4 
    ____    ______________    ____    _____
    M       45          45    'NY'    true 
    F       41          32    'CA'    false
    M       40          34    'MA'    false

テーブル T を、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 に、一意の接尾辞を追加します。

行名を含むテキスト ファイルへのテーブルの書き込み

テーブルを作成します。

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 = 

                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

テーブル 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 プロパティからのテーブルに対する最初の次元の名前です。

スプレッドシートの特定のシートおよび範囲へのテーブルの書き込み

テーブルを作成します。

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T = 

    Var1         Var2         Var3    Var4 
    ____    ______________    ____    _____

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

テーブル TmyData.xls という名前のスプレッドシートに書き込みます。コーナーが B2F6 になる 5 行 5 列の領域の 2 番目のシートのデータを含めます。

writetable(T,'myData.xls','Sheet',2,'Range','B2:F6')

Excel は B6 から F6 のスプレッドシートの行を #N/A で埋めます。これは指定された範囲が入力テーブル T のサイズより大きいためです。

入力引数

すべて展開する

T - 入力テーブルテーブル

テーブルとして指定される入力テーブル。

filename - 書き込むファイルの名前文字列

書き込むファイルの名前。文字列として指定されます。filename にファイル拡張子が含まれる場合、writetable は拡張子からファイル形式を判別します。そうでない場合、writetable はコンマ区切りのテキスト ファイルを作成し、拡張子 .txt を追加します。代替方法として、ファイル拡張子を付けずに filename を指定し、'FileType' 名前と値のペアの引数を含めてファイルの種類を示すことができます。

filename が現在のフォルダーに存在しない場合、writetable はファイルを作成します。writetable は既存のファイルを上書きします。

例: 'myData.xls'

名前/値のペアの引数

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

例: 'WriteVariableNames',false は、変数名が出力ファイルの最初の行として含まれないようにすることを示します。

'FileType' - ファイルの種類‘text’ | 'spreadsheet'

ファイルの種類。'FileType' と文字列 'text' または 'spreadsheet' で構成されるコンマ区切りのペアとして指定します。

'FileType' 名前と値ペアは、filename 入力引数と一緒に使用しなければなりません。ファイルの種類が filename 入力引数の拡張子から判別できる場合、'FileType' 名前と値のペアの引数を指定する必要はありません。

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

  • Excel スプレッドシート ファイルの場合、.xls または .xlsx

例: writetable(T,'mySpreadsheet','FileType','spreadsheet')

'WriteVariableNames' - 変数名を列見出しとして書き込むためのインジケーターtrue (既定の設定) | false | 1 | 0

変数名を列見出しとして書き込むためのインジケーター。'WriteVariableNames' と、truefalse1 または 0 のいずれかで構成されるコンマ区切りのペアとして指定します。

true

writetable は、変数名を出力ファイルの列見出しとして含めます。これは既定の動作です。

'WriteVariablesNames''WriteRowNames' の両方の論理インジケーターが true の場合、writetable はファイルの最初の列の列見出しとして、T.Properties.DimensionNames プロパティから最初の次元の名前を使用します。

false

writetable は出力ファイルに変数名を含めません。

'WriteRowNames' - 最初の列の行名を書き込むためのインジケーターfalse (既定の設定) | true | 0 | 1

最初の列の行名を書き込むためのインジケーター。'WriteRowNames' と、falsetrue0 または 1 で構成されるコンマ区切りのペアとして指定します。

true

writetable は、出力ファイルの最初の列として T からの行名を含めます。

'WriteVariablesNames''WriteRowNames' の両方の論理インジケーターが true の場合、writetable はファイルの最初の列の列見出しとして、T.Properties.DimensionNames プロパティから最初の次元の名前を使用します。

false

writetable は出力ファイルに T からの行名を含めません。これは既定の動作です。

'Delimiter' - フィールドの区切り記号文字列

フィールドの区切り記号。'Delimiter' と次の文字列のいずれかで構成されるコンマ区切りのペアとして指定します。

','

'comma'

コンマ。これは既定の動作です。

' '

'space'

スペース

'\t'

'tab'

タブ

';'

'semi'

セミコロン

'|'

'bar'

垂直バー

'Delimiter' 名前と値のペアは区切り付きテキスト ファイルに対してのみ使用できます。

例: 'Delimiter','space'

'Sheet' - 書き込み先のワークシートワークシート名を含む文字列 | ワークシート インデックスを示す正の整数

書き込み先のワークシート。'Sheet' と、ワークシート名またはワークシート インデックスを示す正の整数を含む文字列で構成されるコンマ区切りのペアとして指定します。ワークシート名文字列にはコロン (:) を含めることができません。スプレッドシート ファイルのシートの名前を決めるには、関数 [status,sheets] = xlsinfo(filename) を使用します。

シートが存在しない場合は、writetable がワークシート コレクションの最後に新しいシートを追加します。シートがワークシート数より大きいインデックスの場合は、ワークブック内のワークシートの数がシート インデックスと同じになるまで、writetable は空のシートを追加します。いずれの場合でも、writetable は新しいワークシートが追加されたことを示す警告を表示します。

'Sheet' 名前と値のペアはスプレッドシート ファイルでのみ使用できます。

例: 'Sheet',2

'Range' - 書き込み対象のワークシートの四角形部分文字列

書き込み対象のワークシートの四角形部分。'Range' と文字列で構成されるコンマ区切りのペアとして指定します。

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

指定範囲が入力テーブル T のサイズより大きい場合、Excel ソフトウェアは残りの領域を #N/A で埋めます。指定範囲が入力テーブル T のサイズより小さい場合、writetable はその範囲に適合するサブセットだけを書き込みます。

'Range' 名前と値のペアは、Excel ファイルと一緒にのみ使用できます。

例: 'Range','D2:H4'

詳細

すべて展開する

ヒント

  • 以下の場合、writetableT を正確には表さないファイルを作成します。‏その後 readtable を使用してこのファイルを読み取り、新しいテーブルを作成すると、元のテーブルと形式や内容が異なるものになる場合があります。同じデータおよび構成をもつテーブルとしてもう一度このファイルをインポートする必要がある場合は、T を MAT ファイルとして保存してください。

    • writetable は、long g 形式を使用して数値変数を出力し、カテゴリカル変数や文字変数は、引用符で囲まれない文字列としてテキスト ファイルに出力します。

    • 複数の列がある変数の場合、writetable は列見出しとして使用する変数名に一意の識別子を追加します。

    • 3 つ以上の次元が存在する出力変数の場合、writetable はこれらの変数を、後続の次元がたたまれた 2 次元として出力します。たとえば、writetable は 4 x 3 x 2 の変数を、4 行 6 列のサイズとして出力します。

    • cell データ型の変数の場合、writetable は各セルの内容を複数フィールド内の単一行として出力します。内容が数値、論理値、文字またはカテゴリカル以外の場合、writetable は単一の空フィールドを出力します。

アルゴリズム

Excel は Inf の値を 65535 に変換します。MATLAB®NaN の値を空のセルに変換します。

参考

|

この情報は役に立ちましたか?