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