pradeep kumar Tarei
pradeep kumar Tarei

Reputation: 83

extracting data from excel to matlab

Suppose i have an excel file (data.xlsx) , which contains the following data.

Name   age
Tom    43 
Dick   24
Harry  32 


Now i want to extract the data from it and make 2 cell array (or matrix) which shall contain

name = ['Tom' ; 'Dick';'Harry']
age = [43;24;32]

i have used xlsread(data.xlsx) , but its only extracting the numerical values ,but i want to obtain both as mentioned above . Please help me out

Upvotes: 0

Views: 1192

Answers (2)

lakshmen
lakshmen

Reputation: 29094

You can use the function called importdata.

Example:

%Import Data
filename = 'yourfilename.xlsx';
delimiterIn = ' ';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);

This will help to take both the text data and numerical data. Textdata will be under A.textdata and numerical data will be under A.data.

Upvotes: 1

Benoit_11
Benoit_11

Reputation: 13945

You have to use additional output arguments from xlread in order to get the text.

I created a dummy Excel file with your data and here is the output (nevermind about the NaNs):

[ndata, text, alldata] = xlsread('DummyExcel.xlsx')

ndata =

    43
    24
    32


text = 

    'Name'     'Age'
    'Tom'      ''   
    'Dick'     ''   
    'Harry'    ''   


alldata = 

    [NaN]    'Name'     'Age'
    [NaN]    'Tom'      [ 43]
    [NaN]    'Dick'     [ 24]
    [NaN]    'Harry'    [ 32]

Now if you use this:

 text{2:end,1} 

you get

ans =

Tom


ans =

Dick


ans =

Harry

Upvotes: 1

Related Questions