# -*- coding:utf-8 _*-
"""
@author:原点
@time: 2021/9/8
@email:919839065@qq.com
@function:完成excel的读和写
"""
import openpyxl
class Case:
def __init__(self):
self.case_id = None
self.assertNum = None
class prasingExcel:
def __init__(self, file_name, sheet_name):
# 异常处理
self.file_name = file_name
self.sheet_name = sheet_name
self.workbook = openpyxl.load_workbook(file_name)
self.sheet = self.workbook[sheet_name]
def readNum(self):
max_row = self.sheet.max_row # 获取最大行数
Num = []
for r in range(3, max_row + 1):
case = Case()
case.assertNum = self.sheet.cell(row=r, column=2).value
case.case_id = self.sheet.cell(row=r, column=1).value
Num.append(case.assertNum)
key = []
for column in range(1, self.sheet.max_column + 1):
key.append(self.sheet.cell(2, column).value)
test_data = []
index = 3
for caseNum in Num:
if caseNum>self.sheet.max_column - 2:
caseNum = self.sheet.max_column - 2
for r in range(index, index + 1):
sub_data = {}
for c in range(3, caseNum + 3):
# case = Case()
sub_data[key[c - 1]] = self.sheet.cell(row = r, column = c).value
test_data.append(sub_data)
index = index+1
self.workbook.close()
return test_data # 返回case列表
if __name__ == '__main__':
from common import contants
p = prasingExcel(contants.case_file, "Sheet1").readNum()
print(p)
读取excel中的数字,自定义获取最大列的参数
最新推荐文章于 2022-12-29 16:50:01 发布