Python學習筆記(2)Python對excel檔案的操作
阿新 • • 發佈:2019-02-11
TIPS:Python的註釋是#,但是若需要中文註釋的時候,需要在最前面加上#coding=utf-8
首先Python要讀取一個excel檔案的時候,要首先
import xlrd
首先,開啟一個excel檔案
fname="logisticsregressiontest.xlsx"; data=xlrd.open_workbook(fname);
這時,data中含有幾個sheet,一般來講,我們都是讀取excel的第一個sheet進行處理,也就是
table=data.sheets()[0];
獲取資料的行數和列數
nrows=table.nrows;
ncols=table.ncols;
假設我們開啟的excel檔案如下圖
此時我們想要讀取x1,x2,x3三列的資料賦值給陣列x0,
我們首先挨個讀取資料的單元格中的資料:
讀取單元格的程式碼是
a=table.cell(row,col);#注意這樣這裡讀出來的是cell型別的,不能進行操作,row,col都是從0開始的。
如果想要讀取單元格中的資料寫作
a=table.cell(row,col).value
這樣,我們讀取三列的程式碼可以寫作
for row_B in range(1,nrows): a1 =table.cell(row_A, 1).value; a2 =table.cell(row_A, 2).value; a3 = table.cell(row_A, 3).value; arr1.append(a1); arr2.append(a2); arr3.append(a3);
其中arr1,arr2,arr3分別是三個陣列,裡面分別存放了x1,x2,x3三列的值。
我們接下來需要將三個陣列組合成三行,然後進行轉置。
x0=np.vstack((arr1,arr2,arr3));
Python對資料進行轉置的程式碼是:
x0=np.transpose(x0);#用np之前需要import numpy as np
這樣x0就存放了三列的數值,輸出一下
上面的兩行程式碼也可以寫作
x0=np.array([
arr1,
arr2,
arr3
]).transpose();
tips:
1.Python新建一個一維的全是0的向量
thita=np.zeros(3);
2.Python的矩陣乘法需要用
dot(thita,x)