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

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

José-Luis
José-Luis le 11 Août 2017
Modifié(e) : José-Luis le 11 Août 2017
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.

Plus de réponses (2)

KSSV
KSSV le 11 Août 2017
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 le 11 Août 2017
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}]

Catégories

En savoir plus sur Text Data Preparation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by