zoukankan      html  css  js  c++  java
  • python接口自动化(三十七)-封装与调用--读取excel 数据(详解)

    简介

      在进行软件接口测试或设计自动化测试框架时,一个不比可避免的过程就是: 参数化,在利用python进行自动化测试开发时,通常会使用excel来做数据管理,利用xlrd、xlwt开源包来读写excel。例如:当我们登录的账号有多个的时候,我们一般用

    excel 存放测试数据,本篇文章介绍,python 读取excel 方法,并保存为字典格式。

    官网

      通过官网来查看如何使用python读取Excel,python excel官网: http://www.python-excel.org/

    1、以下是翻译后的官网文档:

    2、点击“文档”

    3、点击“安装说明”

     

    4、根据以上安装说明,进行准备

    环境准备

    1、以下是小编环境是:

    操作系统:win10

    python环境:python3.7

     

    2、根据官方文档先安装 xlrd 模块,打开 cmd,输入 pip install xlrd 在线安装

    3、出现红色圈的内容表示xlrd安装成功

     

     python对Excel的基本操作

    1、打开电子表格文件以进行数据提取,官方文档API

     2、通过工作表索引、名称获取内容

    3、实例1

    (1)Excel内容

    (2)代码实现

    (3)运行结果

    (4)参考代码1

     1 # coding=utf-8
     2 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
     3 
     4 # 2.注释:包括记录创建时间,创建人,项目名称。
     5 '''
     6 Created on 2019-5-20
     7 @author: 北京-宏哥
     8 Project:学习和使用python读取Excel
     9 '''
    10 # 3.导入模块
    11 import xlrd
    12 
    13 if __name__ == '__main__':
    14 
    15     # excel文件全路径
    16     xlPath = "C:\Users\DELL\Desktop\test.xlsx"
    17     # 用于读取excel
    18     xlBook = xlrd.open_workbook(xlPath)
    19     # 获取excel工作簿数
    20     count = len(xlBook.sheets())
    21     print(u"工作簿数为:  ", count)
    22     # 获取 表 数据的行列数
    23     table = xlBook.sheets()[0]
    24     nrows = table.nrows
    25     ncols = table.ncols
    26     print(u"表数据行列为(%d, %d)" % (nrows, ncols))
    27     # 循环读取数据
    28     for i in range(0, nrows):
    29         rowValues = table.row_values(i)  # 按行读取数据
    30         # 输出读取的数据
    31         for data in rowValues:
    32             print(data, " ",)
    33         print("")

    4、参考代码2

     1 # coding=utf-8
     2 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
     3 
     4 # 2.注释:包括记录创建时间,创建人,项目名称。
     5 '''
     6 Created on 2019-5-20
     7 @author: 北京-宏哥
     8 Project:学习和使用python读取Excel
     9 '''
    10 # 3.导入模块
    11 import xlrd
    12 
    13 if __name__ == '__main__':
    14     # 打开 exlce 表格,参数是文件路径
    15     data = xlrd.open_workbook('C:\Users\DELL\Desktop\test.xlsx')
    16     # table = data.sheets()[0] # 通过索引顺序获取
    17     # table = data.sheet_by_index(0) # 通过索引顺序获取
    18     table = data.sheet_by_name(u'Sheet1')  # 通过名称获取
    19     nrows = table.nrows  # 获取总行数
    20     ncols = table.ncols  # 获取总列数
    21     # 获取一行或一列的值,参数是第几行
    22     print(table.row_values(0)) # 获取第一行值
    23     print(table.col_values(0)) # 获取第一列值

    5、以上代码运行结果

    Excel存放数据(参数)

    1、在 excel 中存放数据,第一行为标题,也就是对应字典里面的 key 值,如登录的参数:username,password

    封装读取参数或者数据方法

    1、最终读取的数据是多个字典的 list 类型数据,第一行数据就是字典里的 key 值,从第二行开始一一对应 value 值

    2、封装好的代码如下:

    3、运行结果

    小结

    1、在安装xlrd模块的时候后边,还有一些黄色的警告,小伙伴们不需要的担心,翻译看一下,是需要更新pip

     2、将提示的命令选中后,回车,另起一行粘贴,运行即可将pip更新到最新版本

     3、小伙伴们可能发现在运行结果的显示:只有出现数字就会有个.0,解决办法:

      如果 excel 数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数(先设置单元格格式后编辑,编辑成功左上角有个小三角图标)

      修改单元格式,运行代码结果:可以清楚看到.0没有了

     4、好了关于python读取Excel的内容,就先讲解到这个,有兴趣可以看其官方文档对表格进行合并、样式设置等等系列动作!!!

  • 相关阅读:
    链表问题
    有关动态规划的LeetCode
    正则表达式匹配与自动机
    基于数据库范式的一点点想法
    html5 API
    Web鼠标事件
    webpack模块化原理
    Jquery数据缓存
    图片懒加载
    MySql存储过程的调试
  • 原文地址:https://www.cnblogs.com/du-hong/p/10892379.html
Copyright © 2011-2022 走看看