MATLAB Answers

how to read mixed date and data

21 views (last 30 days)
DwiNY
DwiNY on 24 Sep 2021 at 22:27
Commented: DwiNY on 27 Sep 2021 at 20:31
How to read this data file:
2020/11/15 07:30:55 27.50 124
2020/11/15 07:40:55 27.63 114
2020/11/15 07:50:55 27.71 95

Accepted Answer

Jeremy Hughes
Jeremy Hughes on 27 Sep 2021 at 19:14
I made some corrections in the comments above, but this is how I would do this more robustly using partial detection with detectImportOptions.
filename = "example.txt";
opts = detectImportOptions(filename,"Delimiter","\t");
opts = setvaropts(opts,1,"Type","datetime","InputFormat","uuuu/MM/dd HH:mm:ss");
T = readtable(filename,opts)
T = 3×3 table
Var1 Var2 Var3 ___________________ _____ ____ 2020/11/15 07:30:55 27.5 124 2020/11/15 07:40:55 27.63 114 2020/11/15 07:50:55 27.71 95
  2 Comments
DwiNY
DwiNY on 27 Sep 2021 at 20:31
Jeremy,
If you could make more a general, i.e. input file with XX number of lines of header would be appreciate.
Thank you

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 24 Sep 2021 at 22:46
I would try the readtable function.
You can specify the input formating if needed.
  4 Comments
Jeremy Hughes
Jeremy Hughes on 27 Sep 2021 at 19:09
If you're using format, there are issues with your format in both cases: mm cannot be both months and minutes, you want MM.
Also, you probably want the second part as duration if you're parsing these as separate fields.
try this: formatSpec = '%{yyyy/MM/dd}D{hh:mm:ss}T%f%f'
But I like your first approach better:
delimiter = '\t'; %no space
formatSpec = '%{yyyy/MM/dd HH:mm:ss}D%f%f'

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by