Effacer les filtres
Effacer les filtres

Issue with textread and data file

1 vue (au cours des 30 derniers jours)
Rene
Rene le 14 Fév 2013
Hello,
I have a data file that I am reading into MATLAB using textread. Everything is fine until I encounter this part of the file:
*** BLOCK 3. Current data ***
13 0.02002002 1
0 0.026246719
0.223 0.026246719
0.3514 0.052493438
I am using the command
file_contents = textscan(fid,'%s','delimiter','\n','whitespace','')
Unfortunately, file _contents now has the first line as 130.020020021. Similar story for the other lines. I believe the issue is the tab between the values. For the case where there is just a blank space between the values, there is no issue. How can I modify my textread command (I want to keep everything as a string) so as to capture the tab? Thank you.

Réponse acceptée

Image Analyst
Image Analyst le 14 Fév 2013
Use fgetl() instead of textscan(). That will let you pull out strings line by line.
  2 commentaires
Rene
Rene le 14 Fév 2013
Thanks. But the reason I am trying to stick with textread is that the code I wrote works fine for the case where the spaces between the entries in the above block are not tabs, but simple spaces obtained by hitting enter a couple of times. Since I don't know a priori which format the data file will have I want to capture both scenarios!
José-Luis
José-Luis le 14 Fév 2013
You could replace tab by spaces before importing to Matlab. In *nix you could use sed otherwise you would need to import line by line and check whether you have tabs or spaces. That could be slow. If you know the exact lines where tabs are expected you could account for that as well.

Connectez-vous pour commenter.

Plus de réponses (0)

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