Why does textscan only read the first row of my text file?
18 views (last 30 days)
Show older comments
Samuele Bolotta
on 1 May 2020
Commented: Samuele Bolotta
on 11 May 2020
for file = 1:total_files
[inputfile,path] = uigetfile('*.txt');
fileids{file} = fopen(fullfile(path, inputfile));
if fileids{file} == -1
error('Failed to open file "%s"', fullfile(path, inputfile));
end
b = textscan(fileids{file},'%n %n %*n %*n %*n %*n %*n',-1, 'delimiter', '/t');
events = b{1};
event_times = b{2};
I want to read in only fhe first two columns out of 7. This works. However, I can only read in the first row.
0 Comments
Accepted Answer
Vimal Rathod
on 4 May 2020
Hi,
Instead of using the below line,
b = textscan(fileids{file},'%n %n %*n %*n %*n %*n %*n',-1, 'delimiter', '/t');
use this,
b = textscan(fileids{file},'%n %n %*[^\n]', -1, 'delimiter', '\t', 'EndOfLine','\r\n');
you will be able to access the data properly.
Hope this helps!
More Answers (0)
See Also
Categories
Find more on Text Files 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!