saving .mat file with matrix instead of cell arrays

1 view (last 30 days)
Hello All,
Thanks to awesome people here, I could manage to cleanup my .csv files and could save them as .mat with following code:
clearvars
close all
clc
d = uigetdir();
filePattern = fullfile(d, '*.csv');
file = dir(filePattern);
x = cell(1, numel(file));
for k = 1 : numel(file)
baseFileName = file(k).name;
fullFileName = fullfile(d, baseFileName);
[filepath,name,ext] = fileparts(fullFileName);
x{k} = readtable(fullFileName);
fprintf('read file %s\n', fullFileName);
%fprintf('read file %s\n', baseFileName);
%writetable(x{k},fullFileName);
temp = table2struct(x{k}(3:end,:),'ToScalar',true);
save([name '.mat'],'-struct','temp')
end
Now the mat file is being created with cell array of column headers inside the .csv file. What I want is instead of cell arrays, I want to have it as matrix. I have preprogramed tool which plots the .mat arrays but these being cell arrays, I suspect that tool is not working.
your help is much appreciated
  4 Comments
Gani
Gani on 15 Feb 2019
Edited: Gani on 15 Feb 2019
Did you check what is inside temp before saving ? seems inside 'temp' you have cell arrays. Hence its saving cell array in matfiles.
adi kul
adi kul on 15 Feb 2019
yes, it's having 1x1 struct with all the parameter cell arrays

Sign in to comment.

Answers (0)

Categories

Find more on Entering Commands in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!