Writing 3D array to excel sheet

41 visualizaciones (últimos 30 días)
Zee
Zee el 3 de Jun. de 2022
Editada: Dhanush Yeddula el 7 de Jun. de 2022
Hello,
I would like to write Matlab output having dimension 2040x5x174 to an excel sheet. xlswrite function is restricted for 2D array as I get following error: 'Dimension of input array cannot be higher than two.'
Is there any other function that I can use or any other way to write this. Thanks.
  1 comentario
Walter Roberson
Walter Roberson el 3 de Jun. de 2022
Either reshape() or write the slices to separate sheets. Excel has no support for 3d arrays.

Iniciar sesión para comentar.

Respuesta aceptada

Dhanush Yeddula
Dhanush Yeddula el 7 de Jun. de 2022
Editada: Dhanush Yeddula el 7 de Jun. de 2022
The function “xlswrite can handle only 2D data. In order to write your 3D data you can either reshape the data into a large 2D array, or you can run a loop to save each sheet of your data to a sheet of the excel file. The conversion from 3D to 2D can be done in a couple of ways. The following examples demonstrate these techniques:
%% Example 1
a = rand(3,3,3)
for i = 1:3
% use a for loop to remove 1 dimension and write into different worksheets
b = (squeeze(a(i,:,:)))'
xlswrite('exanple1.xls', b, ['Sheet', num2str(i)])
end
%% Example 2
a = rand(3,3,3)
% use reshape to remove 1 dimension
b = reshape(a,3,9)
xlswrite('example2.xls', b)

Más respuestas (0)

Etiquetas

Productos


Versión

R2011b

Community Treasure Hunt

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

Start Hunting!

Translated by