Selenium2+python自动化58-读取Excel数据(xlrd)转载

Posted 小曹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium2+python自动化58-读取Excel数据(xlrd)转载相关的知识,希望对你有一定的参考价值。

前言

当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式。

 

一、环境准备

1.先安装xlrd模块,打开cmd,输入pip install xlrd在线安装

>>pip install xlrd

 

二、基本操作

1.exlce基本操作方法如下

# 打开exlce表格,参数是文件路径
data = xlrd.open_workbook(\'test.xlsx\')

# table = data.sheets()[0]           #  通过索引顺序获取
# table = data.sheet_by_index(0)     #  通过索引顺序获取
table = data.sheet_by_name(u\'Sheet1\')  # 通过名称获取

nrows = table.nrows  # 获取总行数
ncols = table.ncols  # 获取总列数

# 获取一行或一列的值,参数是第几行
print table.row_values(0)  # 获取第一行值
print table.col_values(0)  # 获取第一列值

 

三、excel存放数据

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

2.如果excel数据中有纯数字的一定要右键》设置单元格格式》文本格式,要不然读取的数据是浮点数

(先设置单元格格式后编辑,编辑成功左上角有个小三角图标)

 

四、封装读取方法

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

2.封装好后的代码如下

# coding:utf-8
import xlrd
class ExcelUtil():
    def __init__(self, excelPath, sheetName):
        self.data = xlrd.open_workbook(excelPath)
        self.table = self.data.sheet_by_name(sheetName)
        # 获取第一行作为key值
        self.keys = self.table.row_values(0)
        # 获取总行数
        self.rowNum = self.table.nrows
        # 获取总列数
        self.colNum = self.table.ncols

    def dict_data(self):
        if self.rowNum <= 1:
            print("总行数小于1")
        else:
            r = []
            j=1
            for i in range(self.rowNum-1):
                s = {}
                # 从第二行取对应values值
                values = self.table.row_values(j)
                for x in range(self.colNum):
                    s[self.keys[x]] = values[x]
                r.append(s)
                j+=1
            return r

if __name__ == "__main__":
    filepath = "D:\\\\test\\\\web-project\\\\5ke\\\\testdata.xlsx"
    sheetName = "Sheet1"
    data = ExcelUtil(filepath, sheetName)
    print data.dict_data()

运行结果:

[{u\'username\': u\'python\\u7fa4\', u\'password\': u\'226296743\'},

{u\'username\': u\'selenium\\u7fa4\', u\'password\': u\'232607095\'},

{u\'username\': u\'appium\\u7fa4\', u\'password\': u\'512200893\'}]

以上是关于Selenium2+python自动化58-读取Excel数据(xlrd)转载的主要内容,如果未能解决你的问题,请参考以下文章

Selenium2+python自动化58-读取Excel数据(xlrd)转载

Selenium2+Python3.6实战:读取Excel文件

Selenium2+python自动化20-Excle数据参数化

Selenium2+python自动化20-Excel数据参数化转载

python selenium2 模拟点击+拖动 测试对象 58同城验证码

在selenium2+python+PyCharm自动化测试中,如何点击A标签中的链接