Filter löschen
Filter löschen

Extract data range from nested cell array

6 Ansichten (letzte 30 Tage)
mark
mark am 10 Jul. 2022
Kommentiert: Voss am 11 Jul. 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 Kommentare
mark
mark am 10 Jul. 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 am 10 Jul. 2022
My mistake, I forgot i changed 'readtable' for 'readcell'

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Voss
Voss am 10 Jul. 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 Kommentare
mark
mark am 11 Jul. 2022
Thank you so much, this is exactly what I was looking for!
Voss
Voss am 11 Jul. 2022
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by