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

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

 Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 10 Août 2024
Modifié(e) : Atsushi Ueno le 10 Août 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 commentaires

Atsushi Ueno
Atsushi Ueno le 10 Août 2024
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å□ó
Atsushi Ueno
Atsushi Ueno le 10 Août 2024
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];
晃平
晃平 le 21 Août 2024
ご回答ありがとうございました。
ためになりました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur データ型の変換 dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!