Creating Array Struct From excel file

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

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

More Answers (1)

field_name = 'field_to_be';
myStruct.(field_name) = 4;
>> myStruct
myStruct =
field_to_be2: 4

3 Comments

Try the above with your cell-names. Do not mind about the "2" in the:
field_to_be2: 4
it's been a mistake will copying from my command window
@David: Instead of explaining, that we should ignore the "2", you can simply edit your question and delete it.
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

Asked:

on 10 Jul 2013

Community Treasure Hunt

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

Start Hunting!