2014-06-24 57 views
2

我讀過在MATLAB Excel文件,並把該值在陣列本聲明:如何從MATLAB中的xlsread讀取文本值?

[x,y]=xlsread('file_name.xlsx'); 

當I型[X,Y],我看到的Excel工作表中的數據。像這樣的東西,是插在Excel文件:

'ask' 'question' 

'hello' 'hi' 

'apple' 'fruit' 

我要訪問的每個列或行,我希望把每一列在一個特定的陣列。我如何解析這些值並將其放入另一個數組中?我也需要知道行數。我該怎麼做?

+0

您的語法沒有多大意義。你有沒有看過[文檔](http://www.mathworks.com/help/matlab/ref/xlsread.html)的'xlsread'?這個問題不夠清楚,無法提供有用的答案。電子表格中的數據類型是什麼?你的數據格式如何?你的排序標準是什麼?如果不知道這些,我們所能做的就是將您指向[索引文檔](http://www.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html)。 – excaza

+0

我沒有任何排序,我只想訪問每行的元素,並且我的數據類型是char – user3525031

回答

1

當您運行xlsread函數時,它將提取數字數組和文本數組。如果電子表格中的值僅爲非數字文本(例如'cat','dog89')而非數字(例如100,0.2),則文本值將存儲在txt數組中,並且num將爲空。

[num,txt] = xlsread('spreadsheet.xlsx');

如果你看一下num,你會看到它是一個空數組。如果您打印出txt,它將打印出包含這些值的單元格數組。

的行數是: numrows = size(txt,1);

要訪問一個特定行和列的值(例如第3行,第5列):specvalue = txt{3,5};

爲了把每列到一個單獨的單元陣列(例如,放列4到它自己的單元陣列中):newcellarray = txt(:,4); %Note the use of() vs. {}