Exporting cell arrays with different sizes to excel
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
monika roopak
el 3 de Oct. de 2018
Comentada: Bob Thompson
el 4 de Oct. de 2018
I have cell array of size 774 X1 , and each array has another of one row and varying number of column. so my question is how i can export data from this cell array to a excel file.
0 comentarios
Respuesta aceptada
Bob Thompson
el 3 de Oct. de 2018
What kind of data is contained within the inner cells? If there are more arrays I think you will likely have some problems. Here is what I thought of for a first attempt.
Cell = % Your cell with data
[row,col] = size(Cell);
for k = 1:row;
lengths(row) = size(Cell{k},2);
end
col = max(lengths)
Block = cell(row,col);
for k = 1:row;
Block{k,1:size(Cell{k},2)} = Cell{k};
end
Theoretically, this will "bump" the contents of each cell up a level, so that you have a new cell matrix that doesn't contain further matrices, and you can print it to a 2D excel range.
You might also look at cell2mat for cell arrays that contain doubles.
2 comentarios
Bob Thompson
el 4 de Oct. de 2018
One mistake I made (not that it's causing the error) is that it should be lengths(k) not lengths(row).
Since it's just arrays of doubles (numbers) you can use this:
[row,col] = size(CELL);
for k = 1:row;
lengths(k) = size(CELL{k},2);
end
col = max(lengths)
Block = nan(row,col);
for k = 1:row;
Block(k,1:size(CELL{k},2)) = CELL{k};
end
Más respuestas (0)
Ver también
Categorías
Más información sobre Cell Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!