首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
28 篇文章
1
一篇文章让你入门API测试
2
[接口测试 - 基础篇] 01 你应该了解的协议基础
3
[接口测试 - 基础篇] 02 你应该掌握的Python3接口测试内功
4
[接口测试 - 基础篇] 03 unittest测试框架了解多少才够?
5
[接口测试 - 基础篇] 04 无法绕过的json解析
6
[接口测试 - 基础篇] 05 好讨厌的xml解析
7
[接口测试 - 基础篇] 06 好吧也来解析下html
8
[接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之一
9
[接口测试 - 基础篇] 08 封装个基本的excel解析类
10
[接口测试 - 基础篇] 09 其实吧,读写csv格式也是要掌握的
11
[接口测试 - 基础篇] 10 别啊,还有INI格式呢,别忘记我
12
[接口测试 - 基础篇] 11 掌握下python解析YAML格式也是需要的
13
[接口测试 - 基础篇] 12 还是要掌握python日志管理模块的
14
[接口测试 - 基础篇] 13 写在接口测试基础篇完结时
15
[接口测试 - http.client篇] 14 源码初探及其工作机制分析
16
[接口测试 - http.client篇] 15 常用API说明及基本的示例
17
[接口测试 - http.client篇] 16 基于http.client之POM实战一下
18
[接口测试 - http.client篇] 17 http.client之入门级接口测试框架
19
接口测试 | urllib篇 18 urllib介绍
20
接口测试 | urllib篇 19 urllib基本示例
21
[接口测试 -基础篇] 20 用flask写一个简单server用于接口测试
22
接口测试 | 21 基于flask弄个restful API服务出来
23
接口测试 | 22 requests基础入门
24
接口测试 23 requests基础入门二
25
接口测试 | 24 requests + unittest集成你的接口测试
26
接口测试 | 25 requests + pytest测试实例
27
接口测试 | 26 基础及简要验证清单
28
接口测试 | 27 HTTP接口详细验证清单

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

概述

我们看一下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有一个基本的了解。

代码语言:javascript
复制
#-*- 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更多的使用功能进行分享。

下一篇
举报
领券