How to skip (variable) white space using textread
Show older comments
If I have a text file with different amount of white spaces in between the text and numbers, how can I get "textread" to ignore the (variable) whitespaces? For example see test(002).txt
Eventually I want to make a table with these variables to make plots and do statistics etc.
Accepted Answer
More Answers (1)
Walter Roberson
on 30 Mar 2018
I suggest using
readtable()
I do not recommend textread() in any release from R14 onwards. (I do not mean R2014* -- I mean R14, MATLAB 7.0, release in June 2004.)
7 Comments
Angelique Remmers
on 4 Apr 2018
Angelique Remmers
on 4 Apr 2018
Angelique Remmers
on 4 Apr 2018
Walter Roberson
on 4 Apr 2018
You do not readtable() a file identifier, you readtable() a file name.
T = readtable(filename);
However if you are getting a fileID of -1 then it probably cannot find the file, and you might need to specify the directory name as well. For example,
[filename, filepath] = uigetfile('*.dat', 'Choose a data file');
if ~ischar(filename)
return; %user cancel
end
filename = fullfile(filepath, filename);
T = readtable(filename);
Angelique Remmers
on 5 Apr 2018
Angelique Remmers
on 5 Apr 2018
Walter Roberson
on 5 Apr 2018
readtable() will take care of this for you.
If you use textscan() then use a format of '%s%s%s%s', and do not bother using MultipleDelimsAsOne . Any amount of whitespace on input is skipped before a %s or numeric format item is processed.
Categories
Find more on Large Files and Big Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!