資料讀取入門 xlsread

2021-08-07 15:08:02 字數 1949 閱讀 7565

近期忙於準備9月14日至9月17日的高教社杯數學建模競賽,由於本人主要負責建模和演算法工作,因此每天抽出一定時間和精力放到matlab上。不過今天並不順利,僅僅在乙個excel**的讀取上就犯了難,字元型和數值型完全矇圈,還好,最終攻克了這個小難題,本文也算是分享我對xlsread函式的一點心得。

1.只含數值型變數的excel**

這個兩種方法:貼上或xlsread函式呼叫。貼上不必多說,至於xlsread,我們利用如下格式:

num=xlsread('filename','sheet','range')
式中括號內的三項都要加單引號,filename顧名思義,就是要匯入的excel的檔名,注意加.xls或.xlsx就好,第二個sheet就是**頁名,第三個range是指要匯入資料的範圍,這個對excel不熟練的話建議用matlab開啟excel**,直接用滑鼠選中要匯入的資料,然後**裡會自動出現選中資料的範圍(這個的確好用),寫入range即可。

2.同時含數值型變數和字元型變數的excel**

這個稍有些麻煩。

首先,如果僅僅是需要處理其中資料,那麼方法同1。如果既要處理資料又要處理字元型變數的話,就經常用到下面兩種格式:

[num,txt]=xlsread('filename','sheet','range')
[num,txt,raw]=xlsread('filename','sheet','range')

其中,num是數值型變數且為矩陣,txt是字元型變數且為細胞陣列,raw既含數值型變數又含字元型變數,當然,raw是細胞陣列。舉個例子,

日期銷量

2015/2/28

2.6182e+03

2015/2/27

2.6084e+03

2015/2/26

2.6519e+03

2015/2/25

3.4421e+03

2015/2/24

3.3931e+03

2015/2/23

3.1366e+03

2015/2/22

3.7441e+03

這是乙個名為ex1.xlsx的excel**的全部內容,現在我們讀取它的每一部分

[num,txt,raw]=xlsread('ex1.xlsx')

輸出結果如下

num=

2.6182e+03

2.6084e+03

2.6519e+03

3.4421e+03

3.3931e+03

3.1366e+03

3.7441e+03

txt=

日期         

銷量 2015/2/28

2015/2/27

2015/2/26

2015/2/25

2015/2/24

2015/2/23

2015/2/22

raw=

日期銷量

2015/2/28

2.6182e+03

2015/2/27

2.6084e+03

2015/2/26

2.6519e+03

2015/2/25

3.4421e+03

2015/2/24

3.3931e+03

2015/2/23

3.1366e+03

注:txt和raw輸出的每乙個細胞單元都帶單引號。

一般我們進行的資料分析都是同時對數值和字元進行處理的,本人建議利用num作資料預處理,然後用經過缺失和異常資料插補的raw來生成新的excel**,再利用新的excel**作下一步的工作即可。

祝願大家玩熟xlsread,千萬別像我一樣卡在excel資料讀取上了,嘻嘻。

資料讀取入門 xlsread

原 2017年08月31日 17 41 41 ai mathworker 近期忙於準備9月14日至9月17日的高教社杯數學建模競賽,由於本人主要負責建模和演算法工作,因此每天抽出一定時間和精力放到matlab上。不過今天並不順利,僅僅在乙個excel 的讀取上就犯了難,字元型和數值型完全矇圈,還好,...

中讀取資料 讀取資料

對資料庫有一定了解的同學應該都知道資料表這個東西。資料表一般是以行列來儲存和展示資料的。每一列就是乙個資料字段,代表每一行資料的屬性。在python裡面也有類似表概念的東西,叫做dataframe。dataframe是我們資料分析和風控建模中很重要乙個元素,後續的很多資料操作都要以此為基礎。我們的資...

XML 入門 讀取檔案

jar包 dom4j 建立解析器 saxreader reader new saxreader 通過解析器的read方法將配置檔案讀取到記憶體中,生成乙個document org.dom4j 物件樹 document document null try catch documentexception...