Reading large data set from text file & separating to individual column

1 次查看(过去 30 天)
Hello, I have a text file in foll. format:
1950/05/21 04:00:00 1.7100 1 1
1950/05/21 05:00:00 1.5500 1 1
1950/05/21 06:00:00 1.4000 1 1
1950/05/21 07:00:00 1.2200 1 1
I need to separate it to individual column elements. The desired output is as below:
1950 05 21 04 1.71 1 1
1950 05 21 05 1.55 1 1
1950 05 21 06 1.40 1 1
1950 05 21 07 1.22 1 1
Please suggest codes for this. Thanks

采纳的回答

José-Luis
José-Luis 2017-8-11
编辑:José-Luis 2017-8-11
Read in your data and then:
dummy = '1950/05/21 04:00:00 1.7100 1 1';
result = regexprep(dummy,'[\s/:]+',' ')
If you just want to edit a text file like that, there probably are better tools than Matlab for that. grep, for instance.

更多回答(2 个)

KSSV
KSSV 2017-8-11
T = readtable('data.txt') ;
T = table2cell(T) ;
dt = strcat(T(:,1), '/',T(:,2)) ;
T = [dt T(:,3:end)] ;
iwant = [datevec(T(:,1)) cell2mat(T(:,2)) cell2mat(T(:,3)) cell2mat(T(:,4))]

Andrei Bobrov
Andrei Bobrov 2017-8-11
T = readtable('doc.txt')
[a,b,c,d] = datevec(datetime(strcat(T{:,1},{' '},T{:,2}),'I','yyyy/MM/dd HH:mm:ss'));
out = [a,b,c,d,T{:,3:5}]

类别

Help CenterFile Exchange 中查找有关 Text Data Preparation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by