MATLAB Answers

Fastest way to read in large mixed text file?

17 views (last 30 days)
K E
K E on 4 Nov 2016
Answered: Star Strider on 4 Nov 2016
I have an ASCII file with 300000 lines with the following format:
01-01-1979T00:00:00 722816.000000 128.783100 0.027240 0.000000 2.212400 1.535800 290.701000 2.570600 0.941000
I would like to read the lines in as follows:
  • Column 1 skip
  • Column 2 read in as number (actually datenum times)
  • Columns 3-10 read in as numbers
I can read this in using textscan thanks to code generated by the Matlab file import tool, but am wondering if there is a faster way.

  0 Comments

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 4 Nov 2016
You can easily write your own textscan call:
fidi = fopen('filename.txt',rt');
data = textscan(fidi, ['%*s' repmat('%f',1,9)], 'CollectOutput'1);
See the documentation for textscan for other options and name-value pair arguments you may need to read your file.
NOTE I do not have your file to test with it, so this is UNTESTED CODE.

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags