MATLAB導入xls文件以及cell的使用方法

使用matlab讀入.xls的文件時候可以用[T,TXT,RAW]=xlsread("filename.xls")導入也可以使用import data 的辦法手動導入文件。但是我比較傾向於自動化程度比較高的前者,畢竟有時候導入的文件數量是幾百個手動導入不科學。xlsread返回的參數有三個,第一個是xls裏面以數字形式儲存的數據,第二個是文字形式儲存的數據,第三個是前兩者的合併也就是一個完整的excel表格。T參數返回呢是在matlab中是以matrix的形式組織的,而 TXT和RAW呢是以cell的形式組織的,而cell的用法接下去會講。   

如果不想導入數據的時候這麼麻煩呢建議對excel表格的數據形式進行處理。把需要用當成數字形式處理的數據轉成數字如下圖:



       原本整個execl文件都是以文本的形式儲存如果讀入,T爲空;此時我將其中我需要的某一列轉換成了數字格式儲存,這樣xlsread的時候出來的數據就是數字啦,T不爲空。
又或者可以將讀入的TXT轉換成matrix形式。但是TXT是cell類型的數據,如何將cell轉成matrix可以用 cell2mat().但是不是所有的cell都可以用cell2mat().必須要滿足一個基本要求是, 元胞數組中,處於同行的矩陣要有相等的行數, 處於同列的矩陣要有相等的列數。所以當我在用cell2mat()讀入數據時總是出現dimension unconsistent.因爲我讀的列有些字符串的長度不相同,如“10688363”和“1068836”這兩個cell的列數不對齊。那要怎麼辦呢?


1.把cell轉換成string再將string轉換成num就好了。

filename='網格50.xls';
[T,TXT,RAW] = xlsread(filename,1);%這裏T爲空
TXT2 = TXT(2:end,8);
T= str2num(char(TXT2));



2.就是使用cellfun()來幫助啦日後再研究。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章