How to extract data from data file?

27 views (last 30 days)
Hi
I've a .txt file with over 50000 lines(exact number of lines unknown) with 20 parameters(in line 1, the rest of the lines are data). I need to get two different parameters(column number 2 and number 12) from it. How can I do this the smartest way?

Accepted Answer

dpb
dpb on 3 Jun 2014
Edited: dpb on 3 Jun 2014
By current memory, that's not all that big any longer...probably just as easy to just load the file and then trash the columns don't need/want...
Many possible choices...
x=importdata('yourfile.txt','headerlines',1); % read the file
x=x(:,[2 12]); % keep only the columns wanted
Alternatively, only read the two columns...
fmt=['%*f %f' repmat('%*f',1,9) '%f' repmat('%*f',1,8]); % a format string
x=textread('yourfile.txt',fmt,'headerlines',1); % read 'em in...
Many variations of the above are possible...see
help iofun
for list of all the i/o functions; choose from one of the above or from the list the one that strikes your fancy for the file format...
  2 Comments
hmtrondheim Tróndhiem
hmtrondheim Tróndhiem on 3 Jun 2014
When I use the first method I get an error message saying: Index exceeds matrix dimensions. What can I do about that?
dpb
dpb on 3 Jun 2014
Edited: dpb on 4 Jun 2014
Make sure importdata works to begin with.
Show your exact code and result of
whos x
afterwards as well as
exist('yourfile.txt','file')
Wouldn't hurt to paste a short section of the file just to make sure we know what we're talking about...

Sign in to comment.

More Answers (0)

Categories

Find more on File Operations 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!