Creating structs with variable names of read-in data parameter names

1 view (last 30 days)
I'm reading large excel file with both headers and data values. I've attached a sample.
I have many 'Days' (Day 1, Day 2, Day 3 etc.) of data. On any given 'Day,' I may have a few 'tests' (test1, test2, test3 etc.). Within those tests I have a couple variances, like stage, or if the column contains input data or measured values.
I have several columns of data correpsoinding Day 1, Day 2 and so on. What I want is to create a struct for each 'Day' and test whose variable names are the names of the day and test number, so I could say
M = Day1.test1
or something like that. The end goal is to write a csv file for each individual test. I was thinking structs would be a good way to do that, but if someone has a better suggestion I would gladly take it. Thanks
  2 Comments
Mark
Mark on 11 Feb 2014
Edited: Mark on 11 Feb 2014
days = [ 'Day 1' 'Day 2' 'Day 3' ];
DayTestNumber = [ test1, test2, test3];
for i = 1:3
variableDay = days(i)
for j = 1:3
variableTest = DayTestNumber(j)
end
variableDay.variableTest.time = stuff
variableDay.variableTest.data = moreStuff
end
I want to write
Day1.test1
or
Day1.test3
or
Day2.test2
etc and be able to access the right data, where the 'stuff' is different for each day and test.
Also see the sample .txt I attached to get a picture of what I'm workin with.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 11 Feb 2014
Dynamic field names can get you everything except for the outer structure name, but you could toss everything into one container struct.
M = alldays.(DayField).(TestField)

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!