自动化--数据驱动篇(xlrd)

自动化需掌握的小技巧

该自动化框架采用unittest框架,利用xlrd进行数据驱动,使该自动化环境更加完善;

数据驱动(xlrd模块)

##1.进行数据驱动必须掌握的基础:(此处使用xlrd模块帮助实现,当然还有其他如openxl等模块也能实现)

import xlrd                  #使用xlrd模块进行参数化
workbook = xlrd.open_workbook('..\\Parameterization\\zhanghao.xls')  #打开我们的数据文档
test = workbook.sheets()[0]                   #直接获取第一个表格的内容,[0]为第一个表格,[1]为第二个表格
username = int(test.cell_value(0,0))          #获取excel表格中A1单元格内容,由于此处获取的数字为float浮点型,因此转换为int整数型
password = int(test.cell_value(0,1))          #获取excel表格中B2单元格内容,此处的坐标轴计算以纵坐标在前

2.xlrd深入探究:

**2.1  获取每一行(row)、每一列(col)的数据:**
import xlrd
workbook = xlrd.open_workbook('.\\test.xls')
table = workbook.sheets()[0]
value1 = table.row_values(0)    #获取了第1行的所有数据,会显示多个数据,显示如[111,454,115,5151]
value2 = table.col_values(0)    #获取了第1列的所有数据,会显示多个数据,显示如[515,551,484,8948]
for i in value1:                      #把上面第1行的数据,逐个进行打印
	print(i)
for t in value2:                      #把上面第1列的数据,逐个进行打印
	print(t)
	
**2.2  遍历sheet1中所有单元格cell**
workbook = xlrd.open_workbook('.\\test.xls')           获取Excel文件对象
worksheet1 = workbook.sheets()[0]    #获取第一个表格对象
num_rows = worksheet1.nrows          #获取表格的行数
num_cols = worksheet1.ncols          #获取表格的列数
-----------------------------	
for rown in range(num_rows):
	for coln in range(num_cols):
    	cell = worksheet1.cell_value(rown,coln)
    	print(cell)
    
**2.3  xlrd具体操作命令:**
print(table.row_values(0))                  #获取第n行的值 若是合并单元格 首行显示值 其它为空
table = workbook.sheet_names()[0]           #此处直接获取第一个表格的名称
test=workbook.sheet_by_name(table)          #通过名称获取工作表的内容
test = workbook.sheets()[0]                 #直接获取第一个表格的内容
a=test.cell(1,3)                            #获取test表格内单元格(1,3)的数据类型及值ru
b= test.cell_value(0,1)                     #获取test表格内单元格(0,1)的值
nrows=table.nrows                           # 获取表的行数
value2 = table.col_values(0)                #获取第几列的所有数据
value1 = table.row_values(0)                #获取第几行的所有数据

3.写EXCEL:(使用xlwt模块进行写excel)

import xlwt

#创建workbook和sheet对象
workbook=xlwt.Workbook()          #创建对象;注意Workbook的开头W要大写
sheet1=workbook.add_sheet("name1")    #创建表1,名“name1”
sheet2=workbook.add_sheet("name2)   #创建表2,名"name2"

#向sheet页中写入数据
sheet1.write(0,0,"aaaaaa") #向表1单元格(0,0)写入“aaaaaa”
sheet2.write(0,0,"bbbbb") #向表2单元格(0,0)写入“bbbbb”

#保存该excel文件,有同名文件时直接覆盖
workbook.save("E:\egg.xls")
print "ok"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值