How to change HH:mm:ss:SSS to HH:mm:ss.SSS for a column?
조회 수: 46 (최근 30일)
이전 댓글 표시
Hi, I'm collecting a data .txt file with multiple columns. One column is time but the issue is that the software I use exports the time data as HH:mm:ss:SSS (Note the last semicolon should be a period) and theres around 70,000 data points. I'm using readtable to create graphs. My question is: How to convert each data point of time in the column from HH:mm:ss:SSS to HH:mm:ss.SSS? Thank you for your help and insight.
댓글 수: 2
Walter Roberson
2023년 4월 20일
Could you confirm that the data is currently read in as cell array of character vectors stored in the table?
채택된 답변
Walter Roberson
2023년 4월 21일
이동: Walter Roberson
2023년 4월 21일
time = {'01:18:34:754'; '13:04:19:999'}
converted = duration(string(datetime(time, 'InputFormat', 'HH:mm:ss:SSS', 'Format', 'HH:mm:ss.SSS')), 'format', 'hh:mm:ss.SSS')
댓글 수: 2
Walter Roberson
2023년 4월 21일
Unfortunately, duration() will only accept a small number of InputFormat, so the conversion cannot be direct.
Walter Roberson
2023년 4월 21일
time = {'01:18:34:754'; '13:04:19:999'}
temp = char(time);
temp(:,end-3) = '.';
converted = duration(cellstr(temp), 'Format', 'hh:mm:ss.SSS')
추가 답변 (2개)
chicken vector
2023년 4월 20일
편집: chicken vector
2023년 4월 20일
if the time format is imported from the .txt as a string, you can do the following using a for loop for every element:
time = '01:18:34:754';
semicolons = strfind(time, ':');
time(semicolons(end)) = '.'
time =
'01:18:34.754'
To speed things up, since the format is standardsed, you can also do directly:
time(9) = '.';
Otherwise you need to specify what format are you working with.
댓글 수: 2
Walter Roberson
2023년 4월 21일
This needs a bit of modification for entries coming from a table, as those would either be a cell array of character vectors (more likely) or a string array (only if specifically configured for.)
chicken vector
2023년 4월 21일
편집: chicken vector
2023년 4월 21일
You are right, I was trying not to speculate too much given the little information provided, but assuming a cell array is definetly the right choice.
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!