writecell
ファイルへの cell 配列の書き込み
説明
writecell( は cell 配列 C)C をコンマ区切り形式のテキスト ファイルに書き込みます。ファイル名は cell 配列のワークスペース名で、拡張子 .txt が追加されます。writecell が入力 cell 配列名からファイルの名前を作成できない場合、ファイル cell.txt に書き込みます。
C の各変数の各列は、出力ファイルの 1 つの列になります。関数 writecell は既存のファイルをいずれも上書きします。
writecell(___, は、1 つ以上の Name,Value)Name,Value ペアの引数で指定された追加のオプションを使用して、cell 配列をファイルに書き込み、前述の構文の任意の入力引数を含めることができます。
例
cell 配列を作成し、コンマ区切りのテキスト ファイルに書き込んでから、その cell 配列を区切り記号が異なる別のテキスト ファイルに書き込みます。
ワークスペースにシンプルな cell 配列を作成します。
C = {1,2,3;
'text',datetime('today'),hours(1)}C = 2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Jan-2019]} {[1 hr]}
cell 配列をコンマ区切り形式のテキスト ファイルに書き込んで、ファイルの内容を表示します。関数 writecell は、C.txt という名前のテキスト ファイルを出力します。
writecell(C)
type 'C.txt'1,2,3 text,09-Jan-2019,1 hr
同じ cell 配列を区切り記号が異なるテキスト ファイルに書き込むには、'Delimiter' の名前と値のペアを使用します。
writecell(C,'C_tab.txt','Delimiter','tab') type 'C_tab.txt'
1 2 3 text 09-Jan-2019 1 hr
cell 配列を作成し、スプレッドシート ファイルに書き込んでから、ファイルの内容を読み取って表示します。
ワークスペースに cell 配列を作成します。
C = {1,2,3;
'text',datetime('today'),hours(1)}C = 2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Jan-2019]} {[1 hr]}
スプレッドシート ファイルに cell 配列を書き込みます。
writecell(C,'C.xls')C.xls から行列を読み取って表示します。
readcell('C.xls')ans = 2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Jan-2019]} {'1 hr'}
cell 配列を作成して、スプレッドシート ファイルの指定したシートおよび範囲に書き込みます。
ワークスペースに cell 配列を作成します。
C = {1,2,3;
'text',datetime('today'),hours(1)}C = 2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Jan-2019]} {[1 hr]}
cell 配列を C.xls ファイル (ファイルの 2 つ目のワークシートの 3 列目から) に書き込みます。
writecell(C,'C.xls','Sheet',2,'Range','A3:C5')
cell 配列を読み取って表示します。
readcell('C.xls','Sheet',2,'Range','A3:C5')
ans = 2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Jan-2019]} {'1 hr'}
既存データを含むスプレッドシート ファイルの末尾に cell 配列を追加します。
ワークスペースに 2 つの cell 配列を作成します。
C = {1,2,3;
'text',datetime('today'),hours(1)}C=2×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Aug-2025]} {[1 hr]}
rgb = {'red','green','blue'}rgb = 1×3 cell
{'red'} {'green'} {'blue'}
C.xls というスプレッドシート ファイルに cell 配列 C を書き込みます。
writecell(C,'C.xls')スプレッドシート ファイルの既存データ下に cell 配列 rgb を追加します。
writecell(rgb,'C.xls','WriteMode','append')
cell 配列を読み取って表示します。
readcell('C.xls')ans=3×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'text'} {[09-Aug-2025]} {'1 hr'}
{'red' } {'green' } {'blue'}
既存データを含むテキスト ファイルの末尾に cell 配列を追加します。
ワークスペースに 3 つの cell 配列を作成します。
states = {"Massachusetts","New York","Maryland","Virginia"}states=1×4 cell array
{["Massachusetts"]} {["New York"]} {["Maryland"]} {["Virginia"]}
stateBird = {"Black-capped chickadee","Eastern bluebird",...
"Baltimore oriole","Cardinal"}stateBird=1×4 cell array
{["Black-capped chickadee"]} {["Eastern bluebird"]} {["Baltimore oriole"]} {["Cardinal"]}
stateFlower = {"Trailing arbutus","Rose",...
"Black-eyed Susan","Flowering dogwood"}stateFlower=1×4 cell array
{["Trailing arbutus"]} {["Rose"]} {["Black-eyed Susan"]} {["Flowering dogwood"]}
ファイル states.txt に cell 配列 states を書き込みます。次に、配列 stateBird および配列 stateFlower をテキスト ファイルの既存エントリ下に書き込みます。
writecell(states,'states.txt') writecell(stateBird,'states.txt','WriteMode','append') writecell(stateFlower,'states.txt','WriteMode','append')
cell 配列を読み取って表示します。
readcell('states.txt')ans = 3×4 cell
{'Massachusetts' } {'New York' } {'Maryland' } {'Virginia' }
{'Black-capped chickadee'} {'Eastern bluebird'} {'Baltimore oriole'} {'Cardinal' }
{'Trailing arbutus' } {'Rose' } {'Black-eyed Susan'} {'Flowering dogwood'}
入力引数
入力データ。cell 配列として指定します。
ファイル名。文字ベクトルまたは string スカラーとして指定します。
書き込み先の場所によって、filename は次のいずれかの形式にできます。
場所 | 形式 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 現在のフォルダー | 現在のフォルダーに書き込むには、ファイルの名前を 例: | ||||||||
その他のフォルダー | 現在のフォルダーとは異なるフォルダーに書き込むには、絶対パス名または相対パス名を 例: 例: | ||||||||
リモートの場所 | リモートの場所に書き込むには、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
filenameにファイル拡張子が含まれる場合、書き込み関数は拡張子からファイル形式を判別します。そうでない場合、書き込み関数はコンマ区切りのテキスト ファイルを作成し、拡張子.txtを追加します。代替方法として、ファイル拡張子を付けずにfilenameを指定し、'FileType'名前と値のペアの引数を含めてファイルの種類を示すことができます。
filenameが存在しない場合、書き込み関数がファイルを作成します。filenameが既存のテキスト ファイルの名前である場合、書き込み関数はそのファイルを上書きします。filenameが既存のスプレッドシート ファイルの名前である場合、書き込み関数はそのデータを指定した場所に書き込みますが、入力データの範囲外にあるいずれの値も上書きしません。
データ型: char | string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: 'FileType',text は、変数名が出力ファイルの最初の行として含まれないようにすることを示します。
テキスト ファイルとスプレッドシート ファイル
ファイルの種類。'FileType' と、'text' または 'spreadsheet' を含む文字ベクトルまたは string から構成されるコンマ区切りのペアとして指定します。
'FileType' 名前と値ペアは、filename 入力引数と一緒に使用しなければなりません。filename 入力引数に標準のファイル拡張子が含まれている場合、'FileType' の名前と値のペアの引数を指定する必要はありません。次の標準のファイル拡張子は、書き込み関数で認識されます。
区切りテキスト ファイルの場合、
.txt、.datまたは.csvExcel スプレッドシート ファイルの場合、
.xls、.xlsmまたは.xlsxExcel for Windows を備えたシステムでサポートされる Excel スプレッドシート ファイルの場合、
.xlsb
例: 'FileType','spreadsheet'
データ型: char | string
日付を書き込むためのロケール。'DateLocale' と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。datetime 値をファイルに書き込む場合、DateLocale を使用して writecell が月と曜日の名前および略語を書き込むロケールを指定します。 の形式の文字ベクトルまたは string。xx_YYxx は ISO 639-1 で定義された小文字 2 文字の言語コードで、YY は ISO 3166-1 alpha-2 で定義された大文字の国コードです。ロケールの一般的な値の一覧については、関数 datetime の Locale の名前と値のペア引数を参照してください。
日付が Excel 形式の日付として記述できる場合、書き込み関数は常に 'DateLocale' パラメーターの値を無視します。
例: 'DateLocale','ja_JP'
データ型: char | string
書き込みモード。'WriteMode' と、文字ベクトルまたは string スカラーから構成されるコンマ区切りのペアとして指定します。ファイルの種類に基づいて、書き込みモードを選択します。
ファイルの種類 | 書き込みモード |
|---|---|
| テキスト ファイル |
指定したファイルが存在しない場合、書き込み関数は新しいファイルを作成してデータを書き込みます。 |
| スプレッドシート ファイル |
|
WriteVariableNamesがtrueである場合、書き込み関数は書き込みモード'append'をサポートしません。スプレッドシート ファイルの場合、次となります。
書き込みモードが
'append'である場合、書き込み関数はRangeパラメーターをサポートしません。指定したファイルが存在しない場合、書き込み関数は
'replacefile'と同じアクションを実行します。
例: 'WriteMode','append'
データ型: char | string
テキスト ファイルのみ
フィールドの区切り記号。'Delimiter' と、次の指定子のいずれかを含む文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
指定子 | フィールドの区切り記号 |
|---|---|
| コンマ。これは既定の動作です。 |
| スペース |
| タブ |
| セミコロン |
| 縦棒 |
'Delimiter' 名前と値のペアは区切り付きテキスト ファイルに対してのみ使用できます。
例: 'Delimiter','space'
データ型: char | string
引用符付きテキスト書き込みのインジケーター。"minimal"、"all"、または "none" として指定します。
QuoteStringsが"minimal"の場合、この関数は区切り記号、行末、または二重引用符が含まれるすべての変数を二重引用符で囲みます。QuoteStringsが"all"の場合、この関数はすべてのテキスト変数、categorical 変数、datetime 変数、duration 変数を二重引用符で囲みます。QuoteStringsが"none"の場合、この関数は変数を二重引用符で囲みません。
名前と値の引数 QuoteStrings は、区切り形式のテキスト ファイルでのみ使用できます。
ファイルに関連付けられた文字エンコード スキーム。'Encoding' と 'system' で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。エンコードを何も指定しない場合、書き込み関数は UTF-8 を使用してファイルに書き込みます。
例: 'Encoding','UTF-8' は、UTF-8 をエンコードとして使用します。
データ型: char | 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 の値の形式 | 説明 |
|---|---|
' |
例: |
' |
例:
|
'Range' 名前と値のペアは、Excel ファイルと一緒にのみ使用できます。
例: 'Range', 'A1:F10'
データ型: char | string
スプレッドシート データを書き込むときに、Windows 版 Microsoft Excel のインスタンスを起動するためのフラグ。'UseExcel' と、true または false のいずれかで構成されるコンマ区切りのペアとして指定します。
'UseExcel' パラメーターは、次の値のいずれかに設定できます。
true— 書き込み関数はファイルを書き込むときに Microsoft Excel のインスタンスを起動します。false— 書き込み関数はファイルを書き込むときに Microsoft Excel のインスタンスを起動しません。このモードで動作している書き込み機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。
UseExcel |
|
|
|---|---|---|
| サポートされているファイル形式 |
|
|
式やマクロなどの対話型機能のサポート | あり | なし |
Windows プラットフォームでスプレッドシート ファイルに書き込むときに、Microsoft Excel のインスタンスを起動するには、'UseExcel' パラメーターを true に設定します。
UseExcel は非対話型の自動化された環境ではサポートされません。
列幅の自動調整。true または false として指定します。0 の値または false を指定すると、writecell はセルのデータに合わせる列幅の自動調整を行いません。
例: 'AutoFitWidth',0
既存スプレッドシートのセルの書式設定の保持。true または false として指定します。false を指定すると、writecell はスプレッドシートのセルの書式設定を保持しません。書式設定には、フォント、セルの境界線、色付きのセルなどの要素が含まれます。
datetime データをスプレッドシート ファイルに書き込む場合、既存のセルの書式設定を保持するには、'PreserveFormat' と 'UseExcel' の両方の名前と値のペアを true に設定しなければなりません。datetime データをファイルに書き込む際に 'UseExcel' が false に、'PreserveFormat' が true に設定されていると、writecell はファイルの既存のセルの書式設定を保持しません。
例: 'PreserveFormat',false
アルゴリズム
場合によっては、関数
writecellで作成したファイルが入力データを正確に表していないことがあります。これは、関数readcellを使用してそのファイルを読み取ったときに判明します。結果のデータに、元のデータと完全に同じ形式または内容が含まれない可能性があります。cell 配列を保存し、後で元の cell 配列と厳密に一致する同一のデータおよび構成を復元する必要がある場合は、MAT ファイルとして保存します。次の場合に、writecellが書き込む table は厳密に一致しません。writecellがlong g形式を使用した数値データと、categorical データまたは文字データを引用符なしのテキストとして書き出す。writecellが次元数が 2 を超える cell 配列を 2 次元配列として、後続の次元を折りたたんで書き出す。
Excel は
Inf値を65535に変換します。MATLAB® はNaN、NaT、categorical 値<undefined>および string 値<missing>を空のセルに変換します。
バージョン履歴
R2019a で導入
参考
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)