Export arrays to excel

75 Ansichten (letzte 30 Tage)
KuriGohan
KuriGohan am 10 Apr. 2022
Kommentiert: KuriGohan am 11 Apr. 2022
I have 14 arrays that i would like to export to a single excel file. All arrays are of the size 1x5000. I'd like the excel file to be structured like this:
variable 1 value1 value2 value3 ..... value n
variable2 value1 value2 value3 ..... valuen
What i have now is this:
t = table(time, area, volume, radii1, radii2, centre1, centre2);
t = rows2vars(splitvars(t));
writetable(t, append(save_name,'.xlsx'))
The excell file looks like this:
time1 val1
time2 val2
time3 val3
.
.
.
.
timen valn
And so on for all the arrays.
Does anybody have any tips?

Akzeptierte Antwort

Jeremy Hughes
Jeremy Hughes am 10 Apr. 2022
If each variable is 1x5000 then your original code is creating a 1x35000 block of data when you put it in the table. This is valid since a table can have multi-column variables.
What you want to do is flip the vectors to 5000x1, giving you a 5000x7 table, then rows2vars will make that 7x5000.
t = table(time', area', volume', radii1', radii2', centre1', centre2');
t = rows2vars(t);
writetable(t, append(save_name,'.xlsx'))
Another way to do this is to write each as a row in a large matrix. (Assuming each is a double)
writematrix([time; area; volume; radii1; radii2; centre1; centre2], filename)
Or if time is datetime, or duration
writematrix(time, filename)
writematrix([area; volume; radii1; radii2; centre1; centre2], filename,"Writemode","Append")
  3 Kommentare
Walter Roberson
Walter Roberson am 11 Apr. 2022
Bearbeitet: Walter Roberson am 11 Apr. 2022
t = table(time', area', volume', radii1', radii2', centre1', centre2', 'VariableNames', {'time', 'area', 'volume', 'radii1', 'radii2', 'center1', 'center2'});
writetable(t, filename)
KuriGohan
KuriGohan am 11 Apr. 2022
Thank you very much.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by