- メリット:table型データを書き込む為、不正な形式の表になるおそれが無い
- デメリット:一度ファイルから読み込み、再度ファイルに書き込む必要がある
Excelシートに結果を出力する際に末尾のデータではなく列ベクトルの方に追加していく場合
6 ビュー (過去 30 日間)
古いコメントを表示
MATLABで計算した結果をexcelシートに出力をしています。
Excelの末尾にデータを追加するコードに関してはwritetable(result,filename,'Writemode','append')といったようにすると末尾にデータが追加されていくことを確認しました。result2.xlsxに記載しています。
しかし、私はこの末尾にデータが追加されることではなく行ベクトルに追加していく方法が知りたいです。
ご教示いただけないでしょうか。
2 件のコメント
Atsushi Ueno
2022 年 1 月 25 日
移動済み: Atsushi Ueno
2022 年 8 月 17 日
>末尾のデータではなく列ベクトルの方に追加していく場合
一旦ファイルを読み込んで、メモリ上でテーブル列を追加してから(追記ではなく新規に)ファイルに書き込む方法
OldTable = readtable('result2.xlsx'); % 既存テーブルの読み込み
NewTable = randi(30,[30 1]); % ダミーデータ
AddedTable = [OldTable table(NewTable)]; % 既存テーブルに列を追加
writetable(AddedTable,'result2.xlsx'); % 追加したテーブルの書き込み
readtable('result2.xlsx') % 再度読み込んで確認してみる
Atsushi Ueno
2022 年 1 月 25 日
移動済み: Atsushi Ueno
2022 年 8 月 17 日
>末尾のデータではなく列ベクトルの方に追加していく場合
ファイルに追記する方法
NewTable = randi(30,[30 1]); % ダミーデータ
writetable(table(NewTable),'result2.xlsx','Sheet',1,'Range','D5'); % 正しくは'C1'への追記が必要
- メリット:既存ファイルに直接追記できる
- デメリット:追記箇所(シートやセル番号)を誤ると予期せぬ上書きや表の形が壊れるおそれがある
readtable('result2.xlsx') % 読み込んで確認してみる(わざと予期しない位置'D5'に追記してみた場合)
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で スプレッドシート についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!