在进行软件测试或设计自动化测试框架时,一个不可避免的过程就是: 参数
化,在利用 python 进行自动化测试开发时,通常会使用 excel 来做数据管
理,利用 xlrd、xlwt 开源包来读写 excel。
一、环境安装
1.安装xlrd
pip install xlrd
2.安装xlwt
pip install xlwt
二、读取excel文件数据示例
让我们先看一个简单的 excel 读写示例,从表 1 中读取数据:
#-*- coding:utf-8 -*-
import xlrd
import xlwt
if __name__=="__main__":
#excel文件全路径
excelpath = r'F:\pycharm-workspace\selenium\test.xlsx'
#用于读取excel文件
tableopen = xlrd.open_workbook(excelpath)
#获取excel工作簿数
count = len(tableopen.sheets())
print u"工作簿数为%s"%count
#获取表数据的行、列数
table = tableopen.sheet_by_name('Sheet1')
h = table.nrows
l = table.ncols
print u"表数据的行数为%s,列数为%s"%(h,l)
# 循环读取数据
for i in range(0,h):
rowValues = table.row_values(i) #按行读取数据
# 输出读取的数据
for data in rowValues:
print data,' ',
print ''
执行结果:
三、写入excel文件数据示例
注意这里的 excel 文件的后缀是 xls 如果是 xlsx 打开是会提示无效
# 注意这里的 excel 文件的后缀是 xls 如果是 xlsx 打开是会提示无效
excelpath = r'F:\pycharm-workspace\selenium\test2.xls'
wtbook = xlwt.Workbook()
#新增一个sheet工作表
sheet = wtbook.add_sheet('Sheet1',cell_overwrite_ok=True)
#写入数据头
headlist = [u'学号',u'姓名',u'班级']
row = 0
col = 0
#循环写
for head in headlist:
sheet.write(row,col,head)
col = col+1
for i in xrange(1,5):#行数限制,我这里写入4行数据
for j in xrange(1,3):#列数限制,因为我的headlist有三个数据,所以这里肯定是3列
#写入4行0~99的随机数
data = random.randint(0,99)
sheet.write(i,0,i)
sheet.write(i,j, data)
print u"写第[%d]行数据"%(i)
#保存
wtbook.save(excelpath)
执行结果:
excel文件展示: