自动化测试excel封装类

本文介绍了一个用于Excel自动化操作的Python类HandleExcel,该类能够读取Excel中的数据并执行写入操作。支持指定工作表进行读写,并通过字典形式返回读取的数据。

-- coding: utf-8 --

“”"

@Time : 2019/7/22 9:15
@Auth : 潇潇
@File : excel_frame.py
@IDE : PyCharm
@Motto: your story may not have such a happy beginning ,
but that doesn’t make who you are .
It is the rest of your story,
who you choose to be

“”"
import openpyxl

class HandleExcel:
‘’’
操作excel类
‘’’
def init(self, filename, sheetname=None):
self.filename = filename
self.sheetname = sheetname

def get_excel(self):
    """
    获取excel中的用例
    :return:
    """
    wb = openpyxl.load_workbook(self.filename)
    if self.sheetname is None:
        ws = wb.active
    else:
        ws = wb[self.sheetname]
    head_tuple = tuple(ws.iter_rows(max_row=1, values_only=True))[0]
    one_list = []
    for other_tuple in tuple(ws.iter_rows(min_row=2, values_only=True)):
        one_list.append(dict(zip(head_tuple, other_tuple)))
    return one_list

def write_excel(self, row, actual_col, actual, result_col, result):
    """
    写入excel文件
    :param row:要写入用例的行数
    :param actual_col:要写入实际值得列数
    :param actual:要写入的实际值
    :param reslut_col:要写入结果得列数
    :param result:要写入的结果
    :return:
    """
    wb = openpyxl.load_workbook(self.filename)
    if self.sheetname is None:
        ws = wb.active
    else:
        ws = wb[self.sheetname]
    if isinstance(row, int) and (2 <= row <= ws.max_row):
        ws.cell(row=row, column=actual_col, value=actual)
        ws.cell(row=row, column=result_col, value=result)
        wb.save(self.filename)
        wb.close()
    else:
        print("传入的行号有误")

if name == ‘main’:
do_excel = HandleExcel(‘cases.xlsx’)
do_excel.get_excel()
do_excel.write_excel(2, 10, 10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值