Clear Filters
Clear Filters

matlab structure to csv file

11 views (last 30 days)
Sanjay Zamindar
Sanjay Zamindar on 16 Feb 2022
Edited: Jan on 17 Feb 2022
I have a struct like below
header: {1x6 cell}
dates: 202201
data: [0.9779 0.2625 -0.0108 0.1753 -0.0049 -0.0172]
AssetID: 'PAR'
where
K>> coef.header
ans =
Columns 1 through 5
'mexico' 'france' 'berlin' 'italy' 'china'
Column 6
'srilanka'
I want to take output of this in .csv file like
Any help or guidance will be really appricated

Accepted Answer

Jan
Jan on 16 Feb 2022
Edited: Jan on 17 Feb 2022
% [EDITED] Adjusted for comma separators:
coef.header = {'mexico', 'france', 'berlin', 'italy', 'china', 'srilanka'};
coef.dates = 202201;
coef.data = [0.9779 0.2625 -0.0108 0.1753 -0.0049 -0.0172];
coef.AssetID = 'PAR';
[fid, msg] = fopen('C:\Folder\YourFile.csv', 'w');
assert(fid > 0, msg); % No file opening without checking the success!
fprintf(fid, '%s', 'dates');
fprintf(fid, ',%s', 'AssetID', coef.header{:});
fprintf(fid, '\n');
fprintf(fid, '%i,%s', coef.dates, coef.AssetID);
fprintf(fid, ',%g', coef.data);
fprintf(fid, '\n');
fclose(fid);
  3 Comments
Walter Roberson
Walter Roberson on 17 Feb 2022
Each place Jan had a \t change that to a comma.
Jan
Jan on 17 Feb 2022
Edited: Jan on 17 Feb 2022
@Sanjay Zamindar: I've modified the code. A problem with the commas is that they should not appear after the last element of each row.
With tabs as separators, a trailing tab is okay usually.
There are smarter methods to export an CSV file, e.g. writematrix and a lot of tools in the FileExchange. I wanted to suggest a simple "wooden" method, because it can be adjusted easily.

Sign in to comment.

More Answers (0)

Categories

Find more on Risk Management Toolbox 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!