Saving a table-type variable to MAT file column by column in For-loop

Hello everybody,
I have big size of a table-type variable.
I am trying to save a table-type variable to .mat file column by column as table type in in For-loop.
I tried below code but it is not table and VariableNames disappear.
Is there a way to save .mat file as table type?
var = [num2cell(rand(4,3)), {'Steve';'John';'Paul';'Evan'}];
A = splitvars(table(var));
A.Properties.VariableNames = ["Aa","Bb","Cc","Dd"];
for i = 1:width(A)
colData = A.(i); % this case colData is not table type and column name disappear.
save([pwd,'\AA_' num2str(i) '.mat'],'colData')
end

 采纳的回答

outdir = pwd();
var = [num2cell(rand(4,3)), {'Steve';'John';'Paul';'Evan'}];
A = splitvars(table(var));
A.Properties.VariableNames = ["Aa","Bb","Cc","Dd"];
for i = 1:width(A)
clear S
thisvar = A.Properties.VariableNames{i};
S.(thisvar) = A(:,i);
save( fullfile(outdir, "AA_" + i + ".mat"), '-struct', 'S')
end
!ls
AA_1.mat AA_2.mat AA_3.mat AA_4.mat
whos -file AA_1.mat
Name Size Bytes Class Attributes Aa - 1427 table

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Tables 的更多信息

产品

版本

R2020a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by