How to read some specific columns from xls file with matlab

59 views (last 30 days)
Hello,
i'm a new user of Matlab, and i would like to know how I can choose some specific columns
For example :
B C D E
a480.1 *c450* a488 *c555*
0.5 *0.8* 0.6 *0.84*
In this case i need to read C and E.
Thank you very much
H

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 20 Aug 2014
data1=xlsread('file.xlsx','C:C');
data2=xlsread('file.xlsx','E:E');
data=[data1 data2]
  1 Comment
Sabrina
Sabrina on 21 Aug 2014
Thanks Azzi, the problem is that I ve tried this method, but it took me a lot of time, that's why I'm trying to find the simple way

Sign in to comment.

More Answers (1)

dpb
dpb on 20 Aug 2014
Unless there are a very large number of columns being ignored, far simpler to just read the whole spreadsheet then eliminate the columns not needed.
In this case since there's a mess of alphanumeric and numeric data, probably best is to use the RAW cell array result directly --
[~,~,dat]=xlsread('filename.xls');
dat=[dat(:,2) dat(:,4)];
  4 Comments
dpb
dpb on 21 Aug 2014
If the columns you want are close to each other you can try to minimize the extra input by defining the block to enclose the columns you wish as first and last. I'd guess w/o trying it that the extra overhead in xlsread of handling the block will be as much or more as that in reading the full file.
Certainly the option of reading the file multiple times is surely going to be the slowest option I'd think without question.
So, "it depends" I suspect, altho I still think the fastest will likely be the read it all into memory, then operate on that.
Sabrina
Sabrina on 21 Aug 2014
Edited: Sabrina on 21 Aug 2014
waw it worked, thank you so much :-) dpb !! of course I have to put all the colmuns I need but it's more easy and helpful than my first script, which is too long
thanks a lot
H

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!