appium第六章:Excel操作学习
本章概要
我们测试中往往需要编写用例,用例一般都是用Excel文档来编写。做自动化测试,是用来代替收工测试,这时就需要对excel文件进行操作了
这章就从excel的读取和写入两方面连详解
一、Excel的读取操作
import xlrd #调用excel读取模块
workbook = xlrd.open_workbook(r'C:\Users\jh\WiFi吞吐率.xls') #打开文件,括号里的“r”读取和文件路径
print(workbook.sheet_names()) #获取所有表文件名称
sheet2_name =workbook.sheet_names()[1] # 获得指定索引的sheet表名字
sheet2 = workbook.sheet_by_index(1) #获取本地索引值
print(sheet2.name,sheet2.nrows,sheet2.ncols) #根据索引值获取sheet名称,总行数,总列数
rows = sheet2.row_values(2) #获取某行所有内容,返回列表类型
cals = sheet2.col_values(3) #获取某列所以内容,返回列表类型
print(sheet2.cell(7,0)) #8行1列的值,text格式的值
print(sheet2.cell(7,0).value) #8行1列的值,纯值
print(sheet2.cell_value(3,4)) #4行5列的值,纯值
print(sheet2.row(5)[5]) #6行6列的值,text格式的值
print(sheet2.col_values(2)[5]) #3列6行,纯值
print(sheet2.cell(4,5).ctype) #获取单元格内容的数据类型
print(sheet2.merged_cells) #获取合并的单元格
二、Excel的写入操作
import xlwt #调用excel写入模块
file = xlwt.Workbook() #创建excel
sheet1 = file.add_sheet(u"出行报告",cell_overwrite_ok=True) #创建一个sheet页
#write(行标,列标,单元格内容,字体的样式)
sheet1.write(0,1,'pass',set_style('Times New Roman',220,True)) #1行2列,写入内容为“pass”
#write_merge(合并的起始行号,合并的终结行号,合并的起始列号,合并的终结列号,单元格内容,字体的样式)
sheet1.write_merge(0,3, 0, 0, "pass" set_style('Arial', 220, True)) #1列1-4行合并,内容写入“pass”
sheet1.write_merge(0,0, 5, 7) # 1行6-8列合并,单元格内容不填
sheet1.write_merge(2, 2, 0,5, u'合计', set_style('Times New Roman', 220, True))
file.save('C:Users\jh\Desktop\报告.xls')#保存文件,注意应该以 .xls的文件
三、追加写入
from xlutils.copy import copy #调追加写模块
book1 = xlrd.open_workbook(r'C:\Users\jh\Desktop\wifi吞吐量测试结果\WiFi吞吐率.xls') #打开指定文件
book2 = copy(book1) #相当重新复制粘贴的一份文件
sheet1 = book2.get_sheet(1) #获取第几个sheet页地标,在的是xlutils里的方法,不是xlrd的
sheet1.write(9,0,"过头") #10行1列,写入“过头
sheet1.write(8,1,112323) #9行2列,写入112323
book2.save(r'C:\Users\jh\Desktop\wifi吞吐量测试结果\WiFi吞吐率.xls') #相当于覆盖保存
四、excel代码封装调用
#-*- coding:utf-8 -*-
import xlrd
from xlutils.copy import copy
def read_excel(x,y,z):
workbook = xlrd.open_workbook(r'C:\Users\jh\Desktop\wifi吞吐量测试结果\WiFi吞吐率.xls')
sheet1 = workbook.sheet_by_index(z)
val=sheet1.cell_value(x,y)
return val
def write_excel(x,y,z,m):
book1 = xlrd.open_workbook(r"C:\Users\jh\Desktop\qwe.xls")
book2 = copy(book1)
sheet2 = book2.get_sheet(z)
sheet2.write(x,y,m)
book2.save(r"C:\Users\jh\Desktop\qwe.xls")
if __name__ == '__main__':
mm=read_excel(5,5,1)
```