前言
不奮苦而求速效,只落得少日浮誇,老來窘隘而已。——鄭板橋
最近筆者在認真的錄制HTTP協議&FIDDLER的課程視頻,沉寂了幾天沒來寫,今天繼續~
一、openpyxl模塊是什么
- python第三方工具包,用於操作excel表格(支持讀寫);
- 只能支持 excel 2007 以上版本的文件(.xlsx后綴),不過也夠用了。
二、安裝openpyxl模塊
- 命令行中輸入:pip install openpyxl
- 下載安裝包進行離線安裝
三、openpyxl模塊應用實戰
import openpyxl
#創建一個工作薄對象
wb = openpyxl.load_workbook('stu_info.xlsx')
#根據工作表格名稱創建工作表對象
sheet = wb['Sheet1']
#根據單元格名稱獲取單元格內的值
a1_value = sheet['A1'].value #結果:學生學號
#根據表格的行列編號獲取單元格的值 ,編號默認從1開始
a1_value = sheet.cell(row=1, column=1).value #結果:學生學號
#獲取表格最大的行編號
max_row_num = sheet.max_row
#獲取表格最大的列編號
max_column_num = sheet. max_column
#迭代器方式,按行獲取所有單元格(Cell對象)
for row in sheet.iter_rows():
for cell in row:
print(cell.coordinate,end=' : ') #cell.coordinate輸出單元格的姓名
print(cell.value,end=' ')
print()
#獲取一個區域的單元格對象,返回一個特定的元組類型:( (),(),(),() )
cells = sheet['A1':'B2'] #結果:( (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>) , (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>) )
#循環的方法顯示單元格內容
for c in cells:
print(c[1].value) # 結果:展示B1、B2的內容 -->學生姓名、王天
上述例子小結:
- 上述代碼執行前,讀者可自行建立如上excel表格,名稱為stu_info.xlsx;
- sheet['A1':'B2'] 表示 獲取一個表格區域,為 A1、A2、B1、B2四個單元格對象,讀者可自行擴大區域;
- 這個例子講解了openpyxl如何讀取excel數據,它還可以進行寫excel數據。