Reading data into a structure
    6 views (last 30 days)
  
       Show older comments
    
    Edward
      
 on 26 Sep 2013
  
    
    
    
    
    Answered: Walter Roberson
      
      
 on 26 Sep 2013
            Hi, im reading the file:
26/09/2013,16:04:40 2412 928.0 49.94930
25/09/2013,14:24:30 2412 914.0 -999999
using:
fid = fopen('/path/to/your/file.txt', 'rt');
output = textscan(fid, '%s %s %f %f %f', 'Delimiter', ' ,');
fclose(fid);
now i want to read this into an array of structures s. I have tried using the following:
s.date = output{1};
s.time = output{2};
etc
however this gives me size(s) = 1 (a single structure with arrays of dates and times as members) I would prefer to have an array of structures each with a single date and time. Is this possible?
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 26 Sep 2013
        [s{1>length(output{1})}.date] = [output{1}{:}];
[s{:}.time] = [output{2}{:}];
0 Comments
More Answers (1)
  Azzi Abdelmalek
      
      
 on 26 Sep 2013
        
      Edited: Azzi Abdelmalek
      
      
 on 26 Sep 2013
  
      %That's what you have
y=1:10
s.date=y
%result
s = 
  date: [1 2 3 4 5 6 7 8 9 10]
%and you want
s=struct('date',num2cell(y))
%result
s = 
1x10 struct array with fields:
    date
0 Comments
See Also
Categories
				Find more on Structures in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

