MATLAB Answers

struct with timeseries fields to Excel

41 views (last 30 days)
SE
SE on 11 Dec 2019
Commented: David Baas on 18 Jan 2021
Hi all,
i have a 1x1 struct with 58 fields (1x1 double timeseries):
Untitled.png
Each timeseries-field has a "Time" and "Data" column, e.g.:
Untitled1.png
So how can I now make an Excel export of the entire struct?
Unfortunately, the following just exports the field names but not the field data:
S=[test_data(:)];
writetable(struct2table(S),'test.xlsx');
Thanks.

  0 Comments

Sign in to comment.

Answers (1)

Dheeraj Singh
Dheeraj Singh on 17 Dec 2019
You can use the following code for implementing the above:
arr = struct2array(test_data);
t = array2table([arr.Time;arr.Data],'VariableNames',{'Time','Data'});
writetable(t,'test.xlsx');

  1 Comment

David Baas
David Baas on 18 Jan 2021
Hi, I have tried this and got this error:
Check for missing argument or incorrect argument data type in call to function 'struct2cell'.
Error in struct2array (line 10)
c = struct2cell(s);
What do you think this means?
I have a similar dataset but with one column t, and 7 columns of data from Simulink, named out.conout:
arr = struct2array(out.conout);
t = array2table([arr.Time;arr.Data],'VariableNames',{'Time','Data'});
writetable(t,'test.xlsx');

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by