1. 程式人生 > 實用技巧 >使用openpyxl操作excel(一)

使用openpyxl操作excel(一)

1、開啟excel表格並獲取表格名稱

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
print(workbook.sheetnames)
#輸出 ['Sheet1', 'Sheet2', 'Sheet3']

2、通過sheet名稱獲取表格

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook["Sheet1"]
print(sheet)
#輸出 <Worksheet "Sheet1">

3、獲取表格的尺寸大小(幾行幾列資料)

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook["Sheet1"]
print(sheet.dimensions)
#輸出 'A1:H11'

4、獲取表格內某個格子的資料

4.1 sheet["A1"]方式

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active #開啟啟用的表格
cell1 = sheet["A1"] #獲取A1格子的資料
print(cell1.value) #獲取格子中的值
#輸出 1

4.2 sheet.cell(row=,column=)

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active #開啟啟用的表格
cell1 = sheet.cell(row = 1,column = 1) #獲取A1格子的資料
print(cell1.value) #獲取格子中的值

5、獲取某個格子的行數、列數、座標

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active #開啟啟用的表格
cell1 = sheet["A1"] #獲取A1格子的資料
print(cell1.value,cell1.row,cell1.column,cell1.coordinate)
# 輸出1,1,A,A1
# .row 獲取某個格子的行數,.columns 獲取某個格子的列數,.corordinate 獲取某個格子的座標

6、獲取一系列格子

6.1 sheet[]方式

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active #開啟啟用的表格
cell1 = sheet["A1:C2"]
for i in cell:
    for j in i:
      print(j.value)
# 注意:格子中的資料,是按行讀取的

6.2 .iter_rows()方式

from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active
# 按行獲取值
for i in sheet.iter_rows(min_row=2,max_row=5,min_col=1,max_col=2):
    for j in i:
      print(j.value)
# 按列獲取值
for i in sheet.iter_cols(min_row=2,max_row=5,min_col=1,max_col=2):
    for j in i:
      print(j.value)

6.3 sheet.rows()

# 幫助我們獲取所有行
from openpyxl import load_workbook
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active
for i in sheet.rows:
    print(i)