美文网首页自动化测试开源优测
[接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之

[接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之

作者: 苦叶子 | 来源:发表于2017-08-22 18:15 被阅读556次

    概述

    我们看一下excel如何应用到我们的测试场景中来,通常的应用场景有:

    • 用于测试数据的管理维护

    • 用于自动化测试(含UI级、接口级等等)用例管理

    • 用于测试报告生成

    下面我们介绍下使用openpyxl对excel进行读写。

    什么是openpyxl

    openpyxl是一个Python库读写Excel 2010 xlsx/xlsm/xltx /XLTM的库。

    注意其局限性,不支持低版本的excel。

    如何安装openpyxl和pillow

    直接使用pip命令进行安装,如下:

    pip install openpyxl

    为了让openpyxl具备处理图片的能力,你还需要安装pillow,命令如下:

    pip install pillow

    官方文档

    openpyxl官方文档如下:

    https://openpyxl.readthedocs.io/en/default/

    pillow官方文档如下:

    http://pillow.readthedocs.io/en/4.2.x/

    openpyxl基本示例

    下面我们演示一个基本示例,实现一下功能:

    • 创建一个excel文档
    • 创建多个工作簿,往单元格中写入一些符串
    • 一次读取其中一个或多个单元格数据
    • 保存创建的excel文档
    • 读取已保存的excel中的数据

    通过演示上面的功能,让大家对openpyxl有一个基本的了解。

    #-*- coding:utf-8 -*-
    
    
    __author__ = "苦叶子"
    
    
    from openpyxl import Workbook, load_workbook
    
    
    if __name__ == "__main__":
        print("python openpyxl基本实例")
    
        # 创建excel文档
        wb = Workbook()
        ws = wb.active
    
        # 给默认的工作簿修改名称
        ws.title = "我的默认创建的工作簿"
        
        # 对第一行,A-F列写入数据
        for col in ("A", "B", "C", "D", "E", "F"):
            ws["%s1" % col] = "开源优测"
    
        # 对第二行,A-F列写入数据   
        for col in ("A", "B", "C", "D", "E", "F"):
            ws["%s2" % col] = "公众号: DeepTest"
    
        # 创建一个工作簿
        ws1 = wb.create_sheet("新创建的工作簿1")
    
        # 对第一行,A-F列写入数据
        for col in ("A", "B", "C", "D", "E", "F"):
            ws1["%s1" % col] = "开源优测1"
    
        # 对第二行,A-F列写入数据
        for col in ("A", "B", "C", "D", "E", "F"):
            ws1["%s2" % col] = "大数据测试"    
    
        # 创建一个工作簿
        ws1 = wb.create_sheet("新创建的工作簿2")
    
        # 对第一行,A-F列写入数据
        for col in ("A", "B", "C", "D", "E", "F"):
            ws1["%s1" % col] = "开源优测2"
    
        # 对第二行,A-F列写入数据
        for col in ("A", "B", "C", "D", "E", "F"):
            ws1["%s2" % col] = "快学Python3"    
    
        # 保存excel文档到硬盘
        wb.save('openpyxl_demo.xlsx')
    
        # 读取openpyxl_deml.xlsx文档中的内容
        # 只读模式打开
        r_wb = load_workbook(filename='openpyxl_demo.xlsx', read_only=True)
    
        # 获取所有工作簿名称
        sheets = r_wb.get_sheet_names()
    
        # 遍历各个工作簿中的内容
        # 即上述写入到第一、二行A-F列的数据
        for sheet in sheets:
            ws = r_wb[sheet]
            print("---" * 20)
            print(">>>读取", sheet)
            # 遍历第一、二行A-F列的数据
            for row in (1, 2):
                for col in ("A", "B", "C", "D", "E", "F"):
                    print(ws["%s%d" % (col, row)].value, end='      ')
                print(end='\n')
    
        
        # 一次性读取多个单元格的数据
        print(end='\n\n')
        print(">>> 一次性读取多个单元格数据")
        for sheet in sheets:
            ws = r_wb[sheet]
            print("---" * 20)
            print(">>>读取", sheet)
            cells_range = ws["A1": "F2"]
            
            # 遍历下已读取的单元格的内容
            for cells in cells_range:
                for cell in cells:
                    print(cell.value, end='  ')
    
            print(end='\n')
    

    小结

    本文就openpyxl读写excel做了简要的分享,下一篇就openpyxl更多的使用功能进行分享。

    扫一扫关注微信公众号:

    公众号.jpg

    相关文章

      网友评论

        本文标题:[接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之

        本文链接:https://www.haomeiwen.com/subject/qhnldxtx.html