ワークスペースをCSVに保存

ワークスペースに保存している、名前と値を名前(1列目)と値(2列目)でCSVに変換したいです。
どのようにすればよろしいでしょうか。
名前は1×1 doubleでワークスペースに登録しております。

 Accepted Answer

Atsushi Ueno
Atsushi Ueno on 10 Aug 2024
Edited: Atsushi Ueno on 10 Aug 2024

0 votes

CSVで再現しようとするとフォーマットや値の表現方法を決める必要があって、なかなか大変ですよ。
とりあえず、who関数、eval関数、writecell関数で、スカラ値と行列をCSVファイルに出せる事を確認しました。
clear; abc = 123.45; xyz = eye(3); % サンプルデータ
varnames = who; % 各変数の名前
values = cellfun(@eval, varnames, 'UniformOutput', false); % 各変数の値
values = cellfun(@mat2str, values, 'UniformOutput', false); % 1つのセルに収める為、値を文字列に変換する
writecell([varnames values],'myData.csv','Delimiter','comma');
type 'myData.csv'
abc,123.45 xyz,[1 0 0;0 1 0;0 0 1]

3 Comments

save 関数でワークスペース変数をMATファイルに保存できます。(R2006a以前から)
clear; abc = 123.45; xyz = eye(3); % サンプルデータ
%% MATファイルへの保存
save('myData.mat')
type 'myData.mat' % MATファイルの本体は可読性の無いバイナリ形式
MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Sat Aug 10 06:07:48 2024 □□□□□□□□□□IM□□□□*□□□x□ãc``°□b6 æ□Ò À å3Â13CbR2□'Tüì□ ¸□ç□□I®□□□□□□)□□□x□ãc``p□b6 æ□Ò À å3C1#□¬¨¬b`□²9Á|□□□□Då□ó
clear; abc = 123.45; xyz = eye(3); % サンプルデータ
%% Mスクリプトファイルへの保存
matlab.io.saveVariablesToScript('myData.m')
type 'myData.m'
% ------------------------------------------------------------------- % Generated by MATLAB on 10-Aug-2024 06:08:50 % MATLAB version: 24.1.0.2661297 (R2024a) Update 5 % ------------------------------------------------------------------- abc = 123.45; xyz = ... [1 0 0; 0 1 0; 0 0 1];
晃平
晃平 on 21 Aug 2024
ご回答ありがとうございました。
ためになりました。

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

on 9 Aug 2024

Commented:

on 21 Aug 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!