数据库读取
标签(空格分隔): 数据库读取
读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值
#!/usr/bin/env python
# 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 = "C:\\Users\\Administrator\\Desktop\\test.xlsx"
sheetName = "Sheet1"
data = ExcelUtil(filepath, sheetName)
print(data.dict_data())
执行结果:
[{'username': '1358590672343543', 'password': '123412343434343'}, {'username': '13585906743345435', 'password': '12341234234343243'}, {'username': '1246879034343543543', 'password': '111111123434343'}]
数据驱动
一、环境准备
1.安装ddt模块,打开cmd输入pip install ddt在线安装
pip install ddt
二、数据驱动原理
1.测试数据为多个字典的list类型
2.测试类前加修饰@ddt.dd