Read time with colon from .txt file
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hendrik
am 5 Dez. 2013
Bearbeitet: per isakson
am 6 Dez. 2013
Hello, I have an input file with data that contains the time, but it is in the format of the current time, thus 12:25:25.17 for example (12 hours, 25 minutes, 25 seconds and 17 miliseconds) but when matlab tries to read the column of data, it only takes the 12, not the rest. So i tried to replace all : for a space and wanted to convert the hours hours, minutes and seconds to miliseconds so that you get one column that matlab can read. however when i tried to replace the : in the txt file, the output is only shown in the command window. I cant figure out how to save it in an array (so making from 1 array 4 arrays). Or if there is an easier way for matlab to read these numbers containing several : each, that would be handy.
0 Kommentare
Akzeptierte Antwort
per isakson
am 5 Dez. 2013
Bearbeitet: per isakson
am 6 Dez. 2013
Try
fid = fopen( 'data.txt' );
cac = textscan( fid, '%s%f%f%f%f', 'CollectOutput', true );
sts = fclose( fid );
sdn = datenum( char(cac{1}), 'HH:MM:SS.FFF' );
vec = datevec( char(cac{1}), 'HH:MM:SS.FFF' );
where data.txt contains
12:25:25.17 1 2 3 4
12:25:26.99 5 6 7 8
Note:
Above, char(cac{1}) may be replaced by cac{1}, since Doc (R2013a) on datevec says:
DateVector = datevec(DateString,formatIn)
and
DateString — Date stringsstring | cell array of strings
2 Kommentare
per isakson
am 5 Dez. 2013
"column 1, 2 and 3 from" are default values for year, month and day. See the help.
Weitere Antworten (1)
dpb
am 5 Dez. 2013
>> s='12:25:25.17'
>> fmt=[repmat('%d:',1,2) '%d.%d'];
>> sscanf(s,fmt)
ans =
12
25
25
17
>>
Salt the format to suit the full record, of course. And, if you need yet more flexibility,
doc textscan
2 Kommentare
dpb
am 5 Dez. 2013
doc textscan
doc fscanf
Use fopen() to open the file, I simply demonstrated the format string to handle the time format.
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!