Effacer les filtres
Effacer les filtres

Extract data range from nested cell array

6 vues (au cours des 30 derniers jours)
mark
mark le 10 Juil 2022
Commenté : Voss le 11 Juil 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 commentaires
mark
mark le 10 Juil 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 le 10 Juil 2022
My mistake, I forgot i changed 'readtable' for 'readcell'

Connectez-vous pour commenter.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by