2014-09-28 109 views
0

假設我有一個excel文件(data.xlsx),它包含以下數據。
從excel中提取數據到matlab

Name age 
Tom 43 
Dick 24 
Harry 32 


現在我想從中提取數據並進行2單元陣列(或矩陣),其應包含

名= [ '湯姆'; 「迪克」;「哈利」]
年齡= [43; 24; 32]

我已經使用xlsread(data.xlsx),但其僅取出的數值,但我想同時獲得,如上所述。請幫助我

回答

1

您必須使用xlread的附加輸出參數才能獲取文本。

我創建了一個虛擬的Excel與您的數據文件,這裏是輸出(沒關係有關NaN的):

[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] 

現在,如果你使用:

text{2:end,1} 

ans = 

Tom 


ans = 

Dick 


ans = 

Harry 
+0

謝謝,但我需要將它們存儲在單個單元格陣列或矩陣中。有沒有可能的辦法呢? – 2014-09-28 14:49:05

+0

是的,他們已經存儲在單元格數組'文本'中。你可以玩'alldata'來檢索你需要的東西。由於一切都在單元陣列中,因此將非常簡單 – 2014-09-28 15:02:54

1

您可以使用名爲importdata的功能。

例子:

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

這將有助於採取兩種文本數據和數字數據。文本數據將在A.textdata下,數值數據將在A.data下。