格式:
[
[ {row},{...},{...}],
[sheet],
[...],
[...]
]
里面的{row}是一行用例,excel里的一行
而包含了{row} 的 [ {row},{...},{...}]则是sheet页,存放着这个页面的所有用例
这个整体呢,
[
[ {row},{...},{...}],
[sheet],
[...],
[...]
]则整个一段是一个excel文件,存放了所有页面的用例
一、代码目录如下:
二、设计思想:
1、得到文件目录,使用os库
2、打开文件,openpyxl.load_workbook()
3、遍历所有的sheet页,组成list
4、遍历所有的行与首行组成dict
三、具体代码:
import os
import openpyxl
dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
dir = os.path.join(dir, 'getcase\\case.xlsx')
class ReadCase(object):
def __init__(self):
pass
def openxlsx(self, dir):
self.sw = openpyxl.load_workbook(dir)
def readallcase(self):
sheet_list = []
for sh in self.sw:
sheet = self.readcase(sh)
sheet_list.append(sheet)
return sheet_list
def readcase(self, sh):
if sh is None:
print('sheet页为空')
datas = list(sh.rows)
title = [i.value for i in datas[0]]
rows = []
for i in datas[1:]:
data = [v.value for v in i]
row = dict(zip(title, data))
try:
if str(row['case_id'])[0] is not '#':
row['sheet'] = sh.title
rows.append(row)
except KeyError:
rows.append(row)
return rows
read = ReadCase()
read.openxlsx(dir)
sheet_list = read.readallcase()
print(sheet_list)