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?

 Respuesta aceptada

Jeremy Hughes
Jeremy Hughes el 10 de Abr. de 2022

0 votos

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 comentarios

KuriGohan
KuriGohan el 11 de Abr. de 2022
Thank you very much. It works however all the variable names are changed to var1 var2 var3,... is there a way to keep the original variable name when writting to excel?
Walter Roberson
Walter Roberson el 11 de Abr. de 2022
Editada: Walter Roberson el 11 de Abr. de 2022
t = table(time', area', volume', radii1', radii2', centre1', centre2', 'VariableNames', {'time', 'area', 'volume', 'radii1', 'radii2', 'center1', 'center2'});
writetable(t, filename)
KuriGohan
KuriGohan el 11 de Abr. de 2022
Thank you very much.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 10 de Abr. de 2022

Comentada:

el 11 de Abr. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by