Read text file efficiently

12 vues (au cours des 30 derniers jours)
Mjan88
Mjan88 le 24 Jan 2019
Commenté : Walter Roberson le 27 Jan 2019
Hi all,
Does anybody has an idea how to efficiently read a *.txt-file in following format:
1/ 2/2019 01:30 -1.59 0.39 253
1/ 2/2019 01:45 -1.78 0.35 250
1/ 2/2019 02:00 -1.94 0.31 246
1/ 2/2019 02:15 -2.07 0.26 240
I would like to have 8 columns (day, month, year,hour, minute, param1, param2, param3).
The file also has some headers btw.
Like to hear your advise!
  2 commentaires
Stephen23
Stephen23 le 24 Jan 2019
Image Analyst
Image Analyst le 25 Jan 2019
Don't forget to attach your text file again, if you still need help.
There are lots of input options, like importdata(), textscan(), etc. if readtable() doesn't work.

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 25 Jan 2019
fid = fopen('YourFile.txt', 'rt');
data = cell2mat( textscan(fid, '%f/%f/%f %f:%f %f %f %f', 'collectoutput', true);
fclose(fid);
  3 commentaires
Mjan88
Mjan88 le 27 Jan 2019
Thanks, Walter Roberson. This works fine, except that for some kind of reason the first two data-lines are skipped. I don't know what causes this. Do you have an idea?
Walter Roberson
Walter Roberson le 27 Jan 2019
You could try reducing HeaderLines to 4 on the second textscan. But I tested on your supplied file and the output looked fine to me.

Connectez-vous pour commenter.


Mjan88
Mjan88 le 26 Jan 2019
Thanks for the suggestions. Textscan seems to work better indeed, IF I do not have headers. Like Image Analyst already suggested, hereby the textfile itself. Does anybody have an idea how to obtain longitude, latitude, and the data itself (day, month, year,hour, minute, param1, param2, param3)? Thanks!

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