一. openpyxl安裝: pip install openpyxl
二. openpyxl操作Excel文件
1. 先導入openpyxl: import openpyxl
2. 常用方法:
1) 創建工作薄&創建sheet表單,刪除表單並保存工作薄:
workbook.create_sheet('sheet2') # 默認後插入表單
workbook.create_sheet('sheet3', 1) # 指定位置插入表單,表單下標從0開始算
workbook.save('cases.xlsx')
print(workbook.sheetnames)
del workbook['sheet3'] # 刪除表格
workbook.remove(workbook['sheet2']) # 刪除表格
workbook.remove_sheet(workbook['sheet3'])
workbook.save('cases.xlsx') # 刪除或者創建表單,或者修改表單內單元格內容,都需要保存
2) 工作薄打開&表單內容獲取以及修改等常用方法:
a. 打開一個工作薄
wb = openpyxl.load_workbook("cases.xlsx") # 打開一個工作薄
b. 獲取工作薄中所有sheet表單名稱:
sheetlist = wb.sheetnames # 所有sheet名稱
c.選取表單(即需要打開的sheet頁):以打開命名爲login的表單
sh = wb['login'] # 選取表單
或者:
sh = wb.get_sheet_by_name('login') (已棄用)
d. 讀取指定單元格: 以獲取第一列第一行的單元格值爲例
cell_value = sh.cell(row=1, column=1).value # 讀取指定單元格值
e. 向指定單元格寫入值: 向第一列第一行的單元格寫入hello爲例
sh.cell(1, 1).value = "hello"
# 或者:
sh.cell(row=1, column=1, value="hello")
# 注意:寫完數據之後一定要記得保存:
wb.save(filename)
f. 獲取最大行&最大列:
row = sh.max_row # 最大行
coumn = sh.max_row # 最大列
g. 獲取第1列值:
'''獲取第一列的值'''
for i in range(1, sheet.max_row+1):
data = sheet.cell(row=i, column=1).value
print(data)
h. 獲取第1行的值:
for i in range(1, sheet.max_column+1):
data = sheet.cell(row=1, column=).value
print(data)
i. 獲取從第N列開始到第M列的數據
allcontents = [] # 存儲所有用例數據信息
for columnnum in columns: # 獲取title
titles.append(self.sh.cell(row=1, column=columnnum).value)
for i in range(2, self.sh.max_row + 1):
oneCasedata = []
for columnnum in range(N,M+1):
data = self.sh.cell(row=i, column=columnnum).value
try:
oneCasedata.append(eval(data))
except NameError as e:
oneCasedata.append(data)
allcontents .append(oneCasedata)
print(allcontents)