Filter löschen
Filter löschen

Issue with textread and data file

1 Ansicht (letzte 30 Tage)
Rene
Rene am 14 Feb. 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.

Akzeptierte Antwort

Image Analyst
Image Analyst am 14 Feb. 2013
Use fgetl() instead of textscan(). That will let you pull out strings line by line.
  2 Kommentare
Rene
Rene am 14 Feb. 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 am 14 Feb. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by