MATLAB Answers

Fastest way to read in large mixed text file?

8 ビュー (過去 30 日間)
K E 2016 年 11 月 4 日
回答済み: Star Strider 2016 年 11 月 4 日
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 件のコメント


回答 (1 件)

Star Strider
Star Strider 2016 年 11 月 4 日
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 件のコメント



Community Treasure Hunt

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

Start Hunting!

Translated by