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

 更新时间:2023年07月05日 10:01:35   作者:一颗卷心菜QAQ  
这篇文章主要为大家详细介绍了Python如何实现接口自动化封装导出excel和读写excel数据,文中的示例代码简洁易懂,希望对大家有所帮助

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

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

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

此时我们需要对返回数据做处理,如下;

response.text # 响应文本数据(字符串)

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

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

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

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

二、如下封装

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’写入二进制文件

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

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文件

到此这篇关于Python实现接口自动化封装导出excel和读写excel数据的文章就介绍到这了,更多相关Python excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python的Pandas时序数据详解

    Python的Pandas时序数据详解

    这篇文章主要为大家详细介绍了Pandas时序数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 利用Python pyecharts绘制饼图

    利用Python pyecharts绘制饼图

    这篇文章主要介绍了利用Python pyecharts绘制饼图,饼图主要用于表现不同类目的数据在总和中的占比。每个的弧度不是数据量的占比,下面我们一起进入文章看看具体的实现过程吧,需要的朋友也可以参考一下
    2021-12-12
  • Python使用turtle绘制有趣的龙年祝福动画

    Python使用turtle绘制有趣的龙年祝福动画

    这篇文章主要介绍了Python的内置库——小海龟(turtle),它是一个非常实用的绘画工具,不仅可以帮助我们绘制图形,还能让我们查看整个绘画过程,下面我们就来看看如何使用turtle绘制有趣的龙年祝福动画吧
    2024-01-01
  • python中树与树的表示知识点总结

    python中树与树的表示知识点总结

    在本篇文章里小编给大家分享的是关于python中树与树的表示的相关知识点,需要的读者们学习下吧。
    2019-09-09
  • Python的time模块中的常用方法整理

    Python的time模块中的常用方法整理

    这篇文章主要介绍了Python的time模块中的常用方法整理,time模块是专门用于处理日期时间的模块,需要的朋友可以参考下
    2015-06-06
  • 使用CodeMirror实现Python3在线编辑器的示例代码

    使用CodeMirror实现Python3在线编辑器的示例代码

    这篇文章主要介绍了使用CodeMirror实现Python3在线编辑器的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Python实例练习逆序输出字符串讲解

    Python实例练习逆序输出字符串讲解

    今天小编就为大家分享一篇关于Python字符串逆序输出的实例讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2022-05-05
  • Python获取任意xml节点值的方法

    Python获取任意xml节点值的方法

    这篇文章主要介绍了Python获取任意xml节点值的方法,涉及Python操作XML节点的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • Python TestCase中的断言方法介绍

    Python TestCase中的断言方法介绍

    这篇文章主要给大家介绍了关于Python TestCase中的断言方法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Django基础CBV装饰器和中间件的应用示例

    Django基础CBV装饰器和中间件的应用示例

    这篇文章主要为大家介绍了Django基础CBV装饰器和中间件的应用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论