Export arrays to excel
167 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Jeremy Hughes
2022-4-10
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 个评论
Walter Roberson
2022-4-11
编辑:Walter Roberson
2022-4-11
t = table(time', area', volume', radii1', radii2', centre1', centre2', 'VariableNames', {'time', 'area', 'volume', 'radii1', 'radii2', 'center1', 'center2'});
writetable(t, filename)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!