Who could get all the data in the attached file by the matlab?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
huazai2020
le 4 Juil 2020
Commenté : Walter Roberson
le 8 Juil 2020
Who could get all the data in the attached file by the matlab? I do not need the text words, but only need the data in two column?Who can help me?
7 commentaires
Walter Roberson
le 5 Juil 2020
Take my code and use writematrix or xlswrite to write the data variable to an xlsx file.
Réponse acceptée
Stephen23
le 6 Juil 2020
>> rgx = '([-+]?\d+\.?\d*([eE][-+]?\d+)?)';
>> str = fileread('tem-001.txt');
>> tkn = regexp(str,[rgx,'\s+',rgx],'tokens');
>> mat = str2double(vertcat(tkn{:}))
mat =
0.025788 0.0045471
0.016141 0.0093192
0.0088788 0.010581
0.0040584 0.01115
-1.2949e-12 0.0112
-0.0040227 0.011052
-0.0090357 0.010768
-0.015782 0.009112
-0.025416 0.0044815
0 commentaires
Plus de réponses (1)
Walter Roberson
le 4 Juil 2020
filename = 'tem-001.txt';
S = fileread(filename);
SS = strjoin( regexp(S, '^\s*-?\d.*$', 'match', 'lineanchors', 'dotexceptnewline'), '\n');
data = cell2mat(textscan(SS, '%f%f'));
7 commentaires
Walter Roberson
le 8 Juil 2020
That is Stephen's code.
rgx is assigned a pattern that will match floating point numbers with optional decimal place and optional exponent. However the pattern misses the possibility of a decimal number with no leading digits before the period.
The assignment to str reads the content of the file all at once and puts it into the variable.
The next line creates a pattern of one number representation followed by whitespace followed by another number representation. Then it searches the content of the file returning the characters that match the patterns.
The matched parts are put together into columns and passed to str2double to convert to numeric.
The workings of patterns for regular expressions is too large a topic for now. There is a file exchange contribution that helps explore regular expressions. The finer points of regular expressions can be pretty tricky.
Voir également
Catégories
En savoir plus sur Characters and Strings 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!