概述我們看一下excel如何應(yīng)用到我們的測試場景中來,通常的應(yīng)用場景有: 用于測試數(shù)據(jù)的管理維護 用于自動化測試(含UI級,、接口級等等)用例管理 用于測試報告生成
下面我們介紹下使用openpyxl對excel進行讀寫,。 什么是openpyxlopenpyxl是一個Python庫讀寫Excel 2010 xlsx/xlsm/xltx /XLTM的庫。 注意其局限性,,不支持低版本的excel,。 如何安裝openpyxl和pillow直接使用pip命令進行安裝,,如下: pip install openpyxl
為了讓openpyxl具備處理圖片的能力,你還需要安裝pillow,,命令如下: pip install pillow
官方文檔openpyxl官方文檔如下: https://openpyxl./en/default/
pillow官方文檔如下: http://pillow./en/4.2.x/
openpyxl基本示例下面我們演示一個基本示例,,實現(xiàn)一下功能: 通過演示上面的功能,讓大家對openpyxl有一個基本的了解,。 #-*- coding:utf-8 -*-
__author__ = "苦葉子"
from openpyxl import Workbook, load_workbook
if __name__ == "__main__":
print("python openpyxl基本實例") # 創(chuàng)建excel文檔
wb = Workbook()
ws = wb.active # 給默認(rèn)的工作簿修改名稱
ws.title = "我的默認(rèn)創(chuàng)建的工作簿"
# 對第一行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws["%s1" % col] = "開源優(yōu)測"
# 對第二行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws["%s2" % col] = "公眾號: DeepTest"
# 創(chuàng)建一個工作簿
ws1 = wb.create_sheet("新創(chuàng)建的工作簿1") # 對第一行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws1["%s1" % col] = "開源優(yōu)測1"
# 對第二行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws1["%s2" % col] = "大數(shù)據(jù)測試"
# 創(chuàng)建一個工作簿
ws1 = wb.create_sheet("新創(chuàng)建的工作簿2") # 對第一行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws1["%s1" % col] = "開源優(yōu)測2"
# 對第二行,A-F列寫入數(shù)據(jù)
for col in ("A", "B", "C", "D", "E", "F"):
ws1["%s2" % col] = "快學(xué)Python3"
# 保存excel文檔到硬盤
wb.save('openpyxl_demo.xlsx') # 讀取openpyxl_deml.xlsx文檔中的內(nèi)容
# 只讀模式打開
r_wb = load_workbook(filename='openpyxl_demo.xlsx', read_only=True) # 獲取所有工作簿名稱
sheets = r_wb.get_sheet_names() # 遍歷各個工作簿中的內(nèi)容
# 即上述寫入到第一,、二行A-F列的數(shù)據(jù)
for sheet in sheets:
ws = r_wb[sheet]
print("---" * 20)
print(">>>讀取", sheet) # 遍歷第一,、二行A-F列的數(shù)據(jù)
for row in (1, 2): for col in ("A", "B", "C", "D", "E", "F"):
print(ws["%s%d" % (col, row)].value, end=' ')
print(end='\n')
# 一次性讀取多個單元格的數(shù)據(jù)
print(end='\n\n')
print(">>> 一次性讀取多個單元格數(shù)據(jù)")
for sheet in sheets:
ws = r_wb[sheet]
print("---" * 20)
print(">>>讀取", sheet)
cells_range = ws["A1": "F2"]
# 遍歷下已讀取的單元格的內(nèi)容
for cells in cells_range:
for cell in cells:
print(cell.value, end=' ')
print(end='\n')
小結(jié)本文就openpyxl讀寫excel做了簡要的分享,下一篇就openpyxl更多的使用功能進行分享,。 分享軟件測試開源技術(shù)、經(jīng)驗,、方案的首發(fā)平臺
|