how to read mixed date and data

조회 수: 3 (최근 30일)
DwiNY
DwiNY 2021년 9월 24일
댓글: DwiNY 2021년 9월 27일
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일
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일
Dear Jeremy Hughes,
Thank you very much
DwiNY
DwiNY
DwiNY 2021년 9월 27일
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
DwiNY
DwiNY 2021년 9월 27일
Finally, I able to read the file correctly:
fid=fopen('filename.txt','rt');
formatSpec = '%{yyyy/mm/dd}D %{HH:mm:ss}D %f%f ';
delimiter = {'\t',' '};
dataArray = textscan(fid, formatSpec, 'Delimiter', delimiter,'MultipleDelimsAsOne', true, 'ReturnOnError', false);
fclose(fid)
Jeremy Hughes
Jeremy Hughes 2021년 9월 27일
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'

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

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by