importing a column of data from a text file

i need to import a particular column of data from a text file. the columns are differentiated by the size of the numbers. For example :
20 30000
21 40000
24 50000
how can i do so?

Answers (2)

Import the data using
data=dlmread('yourfilename.txt')
Then choose the column you want
data(:,2)
% You can get the sizes of numbers in each column
numbers=arrayfun(@(x) numel(num2str(x)),data(1,:))

3 Comments

but it can be the other way round too as in if the larger values are in the first column. i need to select the column with larger values.
data=dlmread('yourfilename.txt')
numbers=arrayfun(@(x) numel(num2str(x)),data(1,:))
[idx,idx]=max(numbers)
result=data(:,idx)
or simply
data=dlmread('yourfilename.txt')
[idx,idx]=max(data(1,:))
result=data(:,idx)
d = dlmread('yourtxtfile.txt');
[k,k] = max(log10(d(1,:)));
out = d(:,k);
or
[k,k] = max(log10(d(:)));
out = d(:,ceil(k/size(d,1)))

This question is closed.

Asked:

on 29 May 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!