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?

 Réponse acceptée

dpb
dpb le 3 Juin 2014
Modifié(e) : dpb le 3 Juin 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 commentaires

hmtrondheim Tróndhiem
hmtrondheim Tróndhiem le 3 Juin 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 le 3 Juin 2014
Modifié(e) : dpb le 4 Juin 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...

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Analysis dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by