Matlab分析擬合Excel中的數據(1)---數據的導入

前言:office的表格文件也就是xls文件,本質上就是一個二維矩陣,二維矩陣是用來保存數據的最佳方式,所以在日常工作中,我們從其它地方獲取的數據通常都被保存爲xls格式,但處理數據時,我們卻需要把xls文件的數據導入到matlab裏進行處理。 如果你只處理一個文件並且只做一次的話,你可以手動來拷貝粘貼,這花費不了你太多時間。如果有很多xls文件,或者你的xls文件的內容可能隨時被修改,那麼下面的方法可以派上用場。 matlab自身提供了大量的函數,包括讀取office文件。其中xlsread和xlswrite就是專門用來讀取xls文件裏的數據的。這兩個函數的使用方法可以直接查看matlab自帶的幫助。 xlsread對於純數據的xls文件支持很完美,也就是說當xls文件裏的每個格子都是“數”時,xlsread會直接返回一個實數矩陣。但是通 常我們拿到xls文件並不是這樣,它的表頭多半是描述性文字,它的數據也有可能是文字,有些位置的數據還有可能是缺失的。xlsread對這樣的文件讀取 無能爲力,或者說需要大量的時間去協調數據的位置信息。要是有一個函數,能夠按照原有的順序直接讀取所有的單位格數據就好了。當然,這時候返回的矩陣就不 能是一個數值矩陣了,它將會是一個cell矩陣,裏面的每個元素類型可能不一樣。 matlab本身並不提供這個功能,但是另外有一個函數officedoc完美的實現這個功能。這個函數包可以去OfficeDoc官方網站上去下載,解壓縮後放到工作路徑上即可。使用方法可以查詢help officedoc。officedoc是收費函數包,但有免費版本,而且其免費版本可以實現上面我們所說的效果(收費版本主要是可以用來修改office文件)。

在matlab中讀取xls格式的文件內容如應用如下函數:

我們通過幾種導入方法進行導入:

  1. 普通導入
    方法:
data=xlsread(filepath) %其中filepath表示要導入文件的路徑加文件名,要用單引號引起來

實例:

data=xlsread('I:\Test\a.xlsx')

這裏寫圖片描述
打開工作區查看:
這裏寫圖片描述
可以看到數據已經導入成功;但是這種方法導入原始,不能識別中文,不能選擇感興趣的數據區域和sheet;
2. 選擇特定sheet導入:
方法:

data=xlsread(filepathsheetN) %N代表選擇的sheet,比如sheet1即可寫1;

實例:

data=xlsread('I:\Test\a.xlsx',2)

導入結果:
這裏寫圖片描述
3. 自己選擇數據(靈活):
方法:

data=xlsread(filepath,-1)

實例:

data=xlsread('I:\Test\a.xlsx',-1)

運行代碼後顯示:
這裏寫圖片描述
截取兩行數據如下:
這裏寫圖片描述
點擊確定;
查看工作區:
這裏寫圖片描述
非常的靈活易用,有木有啊有木有?
4. 導入代碼指定數據域
方法:

data=xlsread(filepath,'A0B1')

實例:

data=xlsread('I:\Test\a.xlsx', 'B6:KO7')

截取a中B6:KO7共計2行300列的數據,顯示如下:
這裏寫圖片描述
是不是比方法4更靈活?
5. 批量導入(文件較多的時候)
方法:

for i=1:100
filename=[filepath,num2str(i),'.xls']; 
data=xlsread(filename)
end

當然以上方法同樣可以靈活組合.。
比如:

data = xlsread(filename,sheetN, 'range')  %表示選取sheetN中某個數據區域的數據進行導入分析;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章