1. 程式人生 > >Python學習筆記(2)Python對excel檔案的操作

Python學習筆記(2)Python對excel檔案的操作

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);
其中arr1arr2arr3分別是三個陣列,裡面分別存放了x1x2x3三列的值。
我們接下來需要將三個陣列組合成三行,然後進行轉置。
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)