python做excel表格代码_python操作excel表格
我們?cè)趯憸y(cè)試用例的時(shí)候,是創(chuàng)建一個(gè)表格.xlsx,然后把各種條件加到這張表格中去,所以,如何對(duì)excel表格操作,是相當(dāng)重要的一環(huán),那么,接下來,這篇博客就直接教會(huì)大家如何通過python去處理平時(shí)工作中用到的測(cè)試用例表格,我們一步一步來,慢慢的給各位同學(xué)講明白。
首先,給大家先補(bǔ)個(gè)基礎(chǔ)的常識(shí),就是你對(duì)一個(gè)excel的了解有多少?看下圖所示:
一、excel操作三大對(duì)象
workbook 工作薄:一個(gè)excel文件會(huì)被加載為一個(gè)工作薄對(duì)象workbook
form 表單:excel文件中,每個(gè)sheet表達(dá)會(huì)被加載成一個(gè)工作表對(duì)象sheet
cell 單元格:工作表中的每一個(gè)格子就是一個(gè)單元格,即表格對(duì)象cell
好,先把這些基礎(chǔ)的知識(shí)先了解,因?yàn)?#xff0c;excel主要就是操作這三個(gè)對(duì)象workbook、sheet、cell
以下,我拿一段代碼舉例,在用python操作excel時(shí),先要安裝一個(gè)openpyxl,如何安裝?
安裝完成以后,開始建一個(gè)表格文件.xlsx,然后復(fù)制或者剪切到python的具體文件夾目錄下,以下是我自己隨意建的表格:
代碼如下:
importopenpyxl#第一步:將excel文件加載到一個(gè)工作薄對(duì)象中
wb = openpyxl.load_workbook("abc.xlsx")#第二步:選擇文件中的表單
sh = wb["login"]#第三步:讀取內(nèi)容 ,cell表示單元格
res = sh.cell(row=1, column=1) #第一行第一列
print(res.value) #打印出 111
以上就是簡(jiǎn)單的示例:讀取某個(gè)單元格的內(nèi)容
二、數(shù)據(jù)的寫入
(單獨(dú)用的不多,不算重點(diǎn),了解即可)
關(guān)于excel數(shù)據(jù)的寫入,單獨(dú)用的不多,一般會(huì)和會(huì)面的讀取數(shù)據(jù)寫入數(shù)據(jù)一起結(jié)合用,現(xiàn)在只是單獨(dú)拿出來講解,先做個(gè)大概的了解,可以總結(jié)以下四步規(guī)律
第一步:將excel文件加載到一個(gè)工作薄對(duì)象中
wb = openpyxl.load_workbook("文件名")
第二步:選擇文件中的表單
sh = wb["表單名"]
第三步:往表格中寫入數(shù)據(jù)
sh.cell(row=行, column=值, value='寫入的值')
第四步:保存
wb.save("文件名")
注意:在往excel中,寫入數(shù)據(jù)的時(shí)候,文件不能處于一個(gè)打開的狀態(tài),否則會(huì)報(bào)錯(cuò)
importopenpyxl#第一步:將excel文件加載到一個(gè)工作薄對(duì)象中
wb = openpyxl.load_workbook("abc.xlsx")#第二步:選擇文件中的表單
sh = wb["login"]#第三步:往表格中寫入數(shù)據(jù)
sh.cell(row=1, column=1, value='jack')#第四步:保存
wb.save("abc.xlsx") #打開表格看,111已經(jīng)變?yōu)閖ack
三、數(shù)據(jù)的批量讀取
比如:給你一張表格,把表格的內(nèi)容,一次性讀取出來,怎么辦?如何操作?如何用python來實(shí)現(xiàn)
importopenpyxl#第一步:將excel文件加載到一個(gè)工作薄對(duì)象中
wb = openpyxl.load_workbook("yyy.xlsx")#第二步:選擇文件中的表單
sh = wb["login"]
res=list(sh.rows)for item inres:for c initem:print(c.value, end=" ")print() #起著換行的作用
四、excel用例數(shù)據(jù)讀取組裝成列表嵌套字典的格式
先給大家看一下這張表 testcases ,
我們想把它讀取出來,轉(zhuǎn)化成開頭的那種列表中嵌套字典的模式,怎么來弄?有的同學(xué)要問,為什么要弄成那種格式,因?yàn)?#xff0c;要和ddt結(jié)合起來使用,轉(zhuǎn)化成這種格式:
方便ddt的使用,只要轉(zhuǎn)化成這個(gè)列表中嵌套字典的格式,以后可以直接套用
importopenpyxl#第一步:將excel文件加載到一個(gè)工作簿對(duì)象中
wb = openpyxl.load_workbook("testcases.xlsx")#第二步:選擇文件中的表單
sh = wb["login"]
res=list(sh.rows)#獲取第一行的單元格
title =[]#遍歷第一行所有的單元格,將格子中的值添加到列表title中
for c inres[0]:
title.append(c.value)
cases_data=[]#遍歷除第一行之外所有的行
for row in res[1:]:
data=[]for c inrow:
data.append(c.value)
item=dict(zip(title, data))
cases_data.append(item)print(cases_data)
五、excel的封裝
importopenpyxlclassExcel:def __init__(self, filename, sheet_name):
self.filename=filename
self.sheet_name=sheet_namedefread_data(self):"""讀數(shù)據(jù)"""
#第一步:將excel文件加載到一個(gè)工作簿對(duì)象中
wb =openpyxl.load_workbook(self.filename)#第二步:選擇文件中的表單
sh =wb[self.sheet_name]
res=list(sh.rows)#獲取第一行的單元格
title =[]#遍歷第一行所有的單元格,將格子中的值添加到列表title中
for c inres[0]:
title.append(c.value)
cases_data=[]#遍歷除第一行之外所有的行
for row in res[1:]:
data=[]for c inrow:
data.append(c.value)
case=dict(zip(title, data))#print(case)
cases_data.append(case)returncases_datadefwrite_data(self, row, column, value):"""寫數(shù)據(jù)"""
#第一步:將excel文件加載到一個(gè)工作簿對(duì)象中
wb =openpyxl.load_workbook(self.filename)#第二步:選擇文件中的表單
sh =wb[self.sheet_name]
sh.cell(row=row, column=column, value=value)
wb.save(self.filename)
未完待續(xù)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
總結(jié)
以上是生活随笔為你收集整理的python做excel表格代码_python操作excel表格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows高级编程学习笔记(二)
- 下一篇: 开发与重构