Extract data range from nested cell array

3 visualizaciones (últimos 30 días)
mark
mark el 10 de Jul. de 2022
Comentada: Voss el 11 de Jul. de 2022
Hi,
I have a 5x1 cell array where each cell is a sheet from an excel spreadsheet (5 sheets in total). I used 'readtable' to read in the excel data. I am trying to extract a data range from this nested cell array but I can't find the correct notation. This doesn't work:
cell_array_data_range = cell_array{1,1}{8,2}:{8,7}
error: Operator ':' is not supported for operands of type 'cell'.
I am trying to extract, from the first sheet (i.e. {1,1}), the 2nd till the 7th elements from row 8.
Thank you
  3 comentarios
mark
mark el 10 de Jul. de 2022
cell_array=cell(5,1); %initialize
for w=1:5
cell_array{w,1} = readcell('My_Excel_file_name', 'Sheet', num2str(excel_sheet_names(w,1)));
end
%excel_sheet_names is a 5x1 string where each element is the sheet name of the excel file
thank you for your reply
mark
mark el 10 de Jul. de 2022
My mistake, I forgot i changed 'readtable' for 'readcell'

Iniciar sesión para comentar.

Respuesta aceptada

Voss
Voss el 10 de Jul. de 2022
This syntax should work "to extract, from the first sheet (i.e. {1,1}), the 2nd till the 7th elements from row 8":
cell_array{1,1}(8,2:7)
Or, simpler:
cell_array{1}(8,2:7)
which we can do because cell_array has only one non-singleton dimension (in this case cell_array is a column vector).
If you used readtable, then either of those two expressions returns a 1x6 table; if you used readcell, then they give you a 1x6 cell array.
  2 comentarios
mark
mark el 11 de Jul. de 2022
Thank you so much, this is exactly what I was looking for!
Voss
Voss el 11 de Jul. de 2022
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by