Python接口自动化封装导出excel方法和读写excel数据

一、首先需要思考,我们在页面导出excel,用python导出如何写入文件的

封装前需要确认python导出excel接口返回的是一个什么样的数据类型

如下:我们先看下不对返回结果做处理,直接接收数据类型是一个对象,无法获取返回值

此时我们需要对返回数据做处理,如下;
response.text # 响应文本数据(字符串)

**把返回的数据类型变成了dict,**response.json()** 这样就方便我们按照字典的操作去拿数据**

但是 我们现在的操作是要获取导出文件的数据,导出excel是一个二进制文件:

response.content # 响应返回的内容(二进制)

接下来我们按思路response.content方法来把这个二进制文件写入excel中:

二、如下封装:

python 复制代码
class Export:
    """
    导出域
    """
    def __init__(self, token):
        self.token = token
        self.headers = {
                'Authorization': self.token,
                'Content-Type': 'application/json;charset=UTF-8'
        }
        
        ```
def export_sku_excel(self, payload, path):
    """
            商品:商品明细导出
            """
    url = f'{HOST}/api/v1/commodity/exportSKU'
    res = client.post(url=url, json=payload, verify=False, headers=self.headers)
    resp = res.content
    with open(path, 'wb') as f:  # 第一个参数是保存文件路径,不加路径就是当前路径
        if res.status_code == 200:
            return f.write(resp)
        else:
            return False
 

如上,先接收二进制文件,然后使用操作excel方法'wb'写入二进制文件

以上写入文件后,测试过程我们需要再读取文件数据来断言,如下:

python 复制代码
class ExcelMethod:
    def __init__(self, filename):
        self.filename = filename
 
    def read_excel(self, row, col):
        """
        读取导出文件的数据
        Returns:excel单元格数据
        """
        wb = xlrd.open_workbook(self.filename)
        sheet_name = wb.sheet_names()[0]
        sheet1 = wb.sheet_by_index(0)
        cellInfo = sheet1.cell_value(row, col)  # 获取文件中某单元格的值
        return cellInfo  # 返回文件单元格数据

以上是一个写入和读取导出excel的封装方法

值得注意的是,我用的是python内置库xlrd读写excel文件,xls格式文件xlrd可以读写,且xlrd使用1.几的版本,最新版本不支持xls文件,openpyxl库只支持xlsx格式文件

还有一种方法,使用pandas库也可以读取Excel文件

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
王小王-1235 小时前
基于Python的二手车价格影响因素研究【多种机器学习对比、线性回归、MLP、SVR、LightGBM】
python·机器学习·汽车·二手车价格预测·二手车价格影响·汽车数据分析
java1234_小锋5 小时前
一周学会Matplotlib3 Python 数据可视化-绘制饼状图(Pie)
开发语言·python·信息可视化
朱小弟cs66 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
NEUMaple6 小时前
python爬虫(三)----Selenium
爬虫·python·selenium
阿群今天学习了吗8 小时前
“鱼书”深度学习进阶笔记(3)第四章
人工智能·笔记·python·深度学习·算法
软件测试-阿涛8 小时前
【功能测试】软件集成测试思路策略与经验总结
功能测试·集成测试·可用性测试
IT成长日记9 小时前
【自动化运维神器Ansible】playbook案例解析:Tags组件实现任务选择性执行
运维·自动化·ansible·playbook·tags
IT成长日记9 小时前
【自动化运维神器Ansible】playbook实践示例:HTTPD安装与卸载全流程解析
运维·自动化·ansible·playbook·httpd·案例解析
Pi_Qiu_9 小时前
Python初学者笔记第二十二期 -- (JSON数据解析)
笔记·python·json
技术老金9 小时前
LangGraph入门与避坑指南:从ReAct到复杂流程编排
人工智能·python