Python openpyxl模塊實(shí)現(xiàn)excel讀寫操作
在日常的測(cè)試工作中,我們的測(cè)試用例一般都是保存在Excel文件中,當(dāng)然也有一些公司會(huì)使用Xmind來編寫測(cè)試用例,那么為什么我們?cè)谶@里只是講解Excel的讀寫的,因?yàn)镋xcel它是一種更規(guī)范、更常用的測(cè)試用例格式,對(duì)于自動(dòng)化測(cè)試來說,如果我們將用例保存在Excel中,那么剩下的問題就是使用什么樣的奇數(shù)去解析用例獲取測(cè)試數(shù)據(jù)了,下面我們將為大家介紹openpyxl的具體用法。
openpyxl是一個(gè)開源項(xiàng)目,openpyxl模塊是一個(gè)讀寫Excel 2010文檔的Python庫,如果要處理更早格式的Excel文檔,需要用到其它庫(如:xlrd、xlwt等),這是openpyxl比較其他模塊的不足之處。openpyxl是一款比較綜合的工具,不僅能夠同時(shí)讀取和修改Excel文檔,而且可以對(duì)Excel文件內(nèi)單元格進(jìn)行詳細(xì)設(shè)置,包括單元格樣式等內(nèi)容,甚至還支持圖表插入、打印設(shè)置等內(nèi)容,使用openpyxl可以讀寫xltm, xltx, xlsm, xlsx等類型的文件,且可以處理數(shù)據(jù)量較大的Excel文件,跨平臺(tái)處理大量數(shù)據(jù)是其它模塊沒法相比的。因此,openpyxl成為處理Excel復(fù)雜問題的首選庫函數(shù)。
在使用openpyxl前先要掌握三個(gè)對(duì)象,即:Workbook(工作簿,一個(gè)包含多個(gè)Sheet的Excel文件)、Worksheet(工作表,一個(gè)Workbook有多個(gè)Worksheet,表名識(shí)別,如“Sheet1”,“Sheet2”等)、Cell(單元格,存儲(chǔ)具體的數(shù)據(jù)對(duì)象)三個(gè)對(duì)象。
1、安裝openpyxl
2、openpyxl的常用模塊
1)讀取excel當(dāng)中的某一個(gè)單元格,示范代碼如下:
***cell對(duì)象知識(shí)點(diǎn)總結(jié)***
Cell對(duì)象比較簡(jiǎn)單,常用的屬性如下:
row:?jiǎn)卧袼诘男? column:?jiǎn)卧褡诘牧? value:?jiǎn)卧竦闹? coordinate:?jiǎn)卧竦淖鴺?biāo)2)獲取所有行,并存儲(chǔ)在列表中
將數(shù)據(jù)存儲(chǔ)到列表中之后,我們就會(huì)自然想到通過遍歷的方式來將測(cè)試數(shù)據(jù)逐條取出,方便我們做測(cè)試,具體的示范代碼如下:
通過運(yùn)行上述代碼,我們將存儲(chǔ)的測(cè)試數(shù)據(jù)逐條取出,每一條數(shù)據(jù)存放在一個(gè)元組當(dāng)中,所有的元組組成一個(gè)列表,運(yùn)行結(jié)果如下:
3)寫入數(shù)據(jù)
在日常操作excel的過程中,除了要讀取數(shù)據(jù)外,我們可能還會(huì)對(duì)excel中的數(shù)據(jù)進(jìn)行修改或者向excel中寫入數(shù)據(jù),下面我們將為大家演示如何通過openpyxl模塊來向excel中寫入數(shù)據(jù),示范代碼如下:
這樣,我們就將表格中第二行第二列的值修改為“l(fā)ogin fail”,那么在修改完成后,我們需要保存我們所做的修改并關(guān)閉文件,本次修改才會(huì)生效,示范代碼如下:
4)獲取最大行/獲取最大列
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向4. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法5. PHP設(shè)計(jì)模式中工廠模式深入詳解6. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析7. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無效問題8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測(cè)可用)9. 如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動(dòng)畫10. Ajax實(shí)現(xiàn)表格中信息不刷新頁面進(jìn)行更新數(shù)據(jù)
