MATLAB Answers

how to read mixed date and data

조회 수: 13(최근 30일)
DwiNY
DwiNY 2021년 9월 24일
댓글: DwiNY 2021년 9월 27일 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

채택된 답변

Jeremy Hughes
Jeremy Hughes 2021년 9월 27일 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
DwiNY
DwiNY 2021년 9월 27일 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

댓글을 달려면 로그인하십시오.

추가 답변(1개)

the cyclist
the cyclist 2021년 9월 24일
I would try the readtable function.
You can specify the input formating if needed.
  댓글 수: 4
Jeremy Hughes
Jeremy Hughes 2021년 9월 27일 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'

댓글을 달려면 로그인하십시오.

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by