Creating Array Struct From excel file

1 view (last 30 days)
I am trying to create an appropriate array from an excel sheet. I have read the sheet with [num str]=xlsread('Book1.xlsx'); This creates Name Size Bytes Class Attributes
num 5x10 400 double
and
Name Size Bytes Class Attributes
str 6x10 6920 cell
I would like to create a struct such that the field names coming from the row headers of str. but if i try
B=struct(str(1,1),num(:,1))
I get an error
Error using struct
Field names must be strings.
Please suggest a work around if you know of one. Thank you

Accepted Answer

Jan
Jan on 10 Jul 2013
Your str is a cell string. Then you need curly braces:
B = struct(str{1,1}, num(:,1))

More Answers (1)

David Sanchez
David Sanchez on 10 Jul 2013
field_name = 'field_to_be';
myStruct.(field_name) = 4;
>> myStruct
myStruct =
field_to_be2: 4
  3 Comments
Jan
Jan on 10 Jul 2013
@David: Instead of explaining, that we should ignore the "2", you can simply edit your question and delete it.
Samadrita
Samadrita on 10 Jul 2013
I am not sure if I am following this right...Should I manually name the fields? I do need it to be read off the excel sheet. If you could please explain a bit further, I would appreciate it. Thanks

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!