MATLAB Answers

How to read txt file usinig txtscan?

4 views (last 30 days)
Vishnu Dhakad
Vishnu Dhakad on 28 Feb 2020
Edited: dpb on 28 Feb 2020
I have read attached file which has 16435 rows but I have read only 385 row because column 7 has number and character.
how to read full file?
I have used following code
fedm = fopen('Ahm-2019-VAAH.txt');
VK = textscan(fedm, '%4s, %f-%f-%f %f:%f, %f, %f, %f, %f, %f, %f, %s','delimiter','\t','headerlines', 1);
fclose(fedm);
Thanks
  1 Comment
dpb
dpb on 28 Feb 2020
No wonder it fails...the format string doesn't come close to matching that file and the delimiter is a comma, not tab.
However, it is badly formed with embedded spaces in non-quoted strings so will be tough w/ textscan
readtable with an import object as the other respondent showed is probably the way to go. It would be agoodthing™ if TMW would add the text import options object to textscan but don't suppose they ever will.

Sign in to comment.

Answers (1)

Ankit
Ankit on 28 Feb 2020
Edited: Ankit on 28 Feb 2020
Here you go:
% Create import options, tailor the data types for multiple variables, and then read the data
filename = 'Ahm-2019-VAAH.txt';
opts = detectImportOptions(filename,'NumHeaderLines',1); % Create import options based on file content
opts.VariableNamesLine = 1;
% now pass these opts to the readtable function
T = readtable(filename, opts,'ReadVariableNames',true);
Refer below links for more details:

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!