Loading .log data with different number of columns

5 views (last 30 days)
Dear all,
I would like to read the following log-file (see: attachment). I used the readtable()-function, but not all data is loaded properly. For instance, not all columns are getting loaded and some text-data is recognised as a Nan.
Do you have any suggestions on how to read the entire file?
Thanks already in advance!
Best,
Sophie
  3 Comments
Sophie96
Sophie96 on 22 Jul 2022
My goal is to filter the data regarding the second column. I would like to obtain seperate tables containing information about MAIN, RESMAN, TRACK, COMMUN etc.
I wouldn't mind if every column does not contain the same type of information (numbers and text data). But with my current solution not everything is getting loaded so that information is already missing in the first place.
I hope that helps!

Sign in to comment.

Answers (1)

Jon
Jon on 22 Jul 2022
Yes, I would also recommend readcell, so for example
logdata = readcell('Example.log','NumHeaderLines',2)
You could then make another cell array with just the entries corresponding to a specific value occuring in the third column (for some reason the second column of spaces gets read in as missing, but it doesn't really matter) this has values such as 'MAIN', 'TRACK', etc. so for example you could make a cell array of just the entries for 'MAIN' using
mainLog = logdata(strcmp('MAIN',logdata(:,3)),:)
and then turn this into a table using
T = cell2table(mainLog)
and further into a timetable using
TT = table2timetable(T)
From which hopefully you can further extract the information of interest

Community Treasure Hunt

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

Start Hunting!