extract useful info from text file filled with irrelevant info
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jamie Shelley
le 26 Juil 2016
Commenté : Jamie Shelley
le 7 Août 2016
The text files that I have are like this: useless info... * useful date (within useless info) useful info *useless info and like that until the end - if there a way of extracting the useful stuff rather than copy and pasting each individual one (as each file has like 200 things to copy into excel) ? Thanks
13 commentaires
dpb
le 29 Juil 2016
Modifié(e) : dpb
le 29 Juil 2016
Sure, but you probably don't need to in order to extract the data of interest.
It would really, Really, REALLY help if you would include an actual file section if you want actual answers instead of continued generalities, but look at the code I provided another poster just recently parsing a similar kind of file to see how to use what's in the file to locate sections of interest... <import-from-data-from-messy-text-file>. That particular file had the nicety of having the number of cases as a parseable value early on in the file so could use a counted outside loop; if, as I gather, your file wouldn't have such just use a while ~feof(fid) loop or equivalent instead. Also, of course, you'd have to keep track/discern which is the one of interest initially and either skip one first or vice versa, depending on the order of whether it's the even/odd case you're interested in. But, as the above shows, it's really pretty simple concept, just takes some consideration of what it is that can be looked for.
Réponse acceptée
Guillaume
le 6 Août 2016
Modifié(e) : Guillaume
le 6 Août 2016
Now that we finally know what useful and useless look like, we can finally answer the question (mostly).
Here is one way to extract the LPR section(s):
filecontent = fileread('example2.txt');
filesections = regexp(filecontent, 'File name.*?(?=(File name)|$)', 'match'); %match 'File name' and everything that follows up to the next 'File name' or the end of string.
testtypes = regexp(filesections, '(?<=Test type\s*)\S+', 'match', 'once'); %match non-blank characters after 'Test type'
wantedsections = filesections(strcmp(testtypes, 'LPR'));
edit: missing ) in first regex
11 commentaires
Plus de réponses (1)
Shameer Parmar
le 29 Juil 2016
use this command..
Data = textread('FileName.txt', '%s', 'delimiter', '');
then apply the logic (FOR and IF loop) according to your requirement for reading and storing the data..
Please provide the data of your text file and about the required data so that I can help you for logic..
3 commentaires
Guillaume
le 6 Août 2016
At last! We finally get an example of the data as dpb and I have been asking for ages. You still haven't given us the full picture, but can still make a start at answering the question.
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices 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!