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!