How to read some specific columns from xls file with matlab

63 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 20 Ago 2014
data1=xlsread('file.xlsx','C:C');
data2=xlsread('file.xlsx','E:E');
data=[data1 data2]
  1 Commento
Sabrina
Sabrina il 21 Ago 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

Accedi per commentare.

Più risposte (1)

dpb
dpb il 20 Ago 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 Commenti
dpb
dpb il 21 Ago 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 il 21 Ago 2014
Modificato: Sabrina il 21 Ago 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

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by