matlab structure to csv file
11 views (last 30 days)
Show older comments
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/896680/image.png)
Any help or guidance will be really appricated
0 Comments
Accepted Answer
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
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.
More Answers (0)
See Also
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!