how it set in tsv data file
How to replace char 'null' in number 0?
27 views (last 30 days)
Show older comments
Hi! I`ve got a problem with using plot function cause there is some 'null's (char type) in my data files . So i would like to change/replace that nulls in 0 (num) . Could someone help to find useful function or to offer other solution.
6 Comments
Accepted Answer
Guillaume
on 9 Aug 2018
Edited: Guillaume
on 9 Aug 2018
It's much easier to read your file with readtable (which also does not require any toolbox). It is trivial with readtable to convert the 'null' to 0 and read everything else as number.
t = readtable('result_3259_m.tsv', 'FileType', 'text', 'TreatAsEmpty', 'null', 'EmptyValue', 0);
t.time = datetime(t.time, 'InputFormat', 'yyyy-MM-dd''T''HH:mm:ss''Z''');
I would also recommend that you do not extract the table columns into variables with meaningless names. Just use the table variables directly:
plot(t.time, t.input_flowrate_bezm, 'DatetimeTickFormat', 'dd.MM, HH:mm');
More Answers (1)
Ameer Hamza
on 9 Aug 2018
The image shows a struct which char arrays as fields. You can use strrep() to replace the elements of a char array. Although it will still not work with the plot() function because the elements are char arrays, not numeric values. You might need to use str2num() to convert char values t numeric before using plot().
0 Comments
See Also
Categories
Find more on Logical 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!