1、首先在配置文件里添加一个配置项
[identifier] #识别符号
note = #
# python以这个符号为注释符号,所以我也选择这个,但写在配置文件中,随时可以修改
2、读取注释符号 note,读取的前提下先要有 Config模块,我们已经写好(如何写,网上有很多读配置文件的教程)下面两句代码
conf = Config()
self.note = conf.get('identifier', 'note')
3、看首图,我们分为行case注释和 sheet case页注释
判断单行 case是否有注释:我们只需要在读到case单数据后,判断case_id是否被#号注释了。即在收集case的方法def read_excels(self):里添加下面判断
if str(case['case_id'])[0] is not self.note: #判断此条用例是否注释掉 以note符号开头,注释掉便不收集、不执行
cases.append(case)
判断sheet case是否有注释:同上面一样,需要在收集sheet页的方法 def sheet_count(self):
里添加下面判断
if sheet.title[0] is not self.note: #判断用例sheet页是否注释掉 以note符号头开头注释,注释掉便不收集、不执行
count += 1
sh = 'sheet' + str(count)
sheetdict[sh] = sheet.title
源码
import os
import openpyxl
from common.getpath import DATADIR
from common.handconfig import Config
class Readexcel(object):
def __init__(self, filename, sheet_name=None):
self.filename = os.path.join(DATADIR, filename)
self.sheet_name = sheet_name
conf = Config()
self.note = conf.get('identifier', 'note') #注释符号
#open xlsx
def openexcel(self):
self.wb = openpyxl.open(self.filename)
if self.sheet_name is not None:
self.sh = self.wb[self.sheet_name]
#print(*self.sh)
#get data case
def read_excels(self): #明天就改这里
if self.wb is None:
self.openexcel()
datas = list(self.sh.rows)
title = [i.value for i in datas[0]]
cases = []
for i in datas[1:]:
data = [k.value for k in i]
case = dict(zip(title, data))
try:
if str(case['case_id'])[0] is not self.note: #判断此条用例是否注释掉 以note符号开头,注释掉便不收集、不执行
case['sheet'] = self.sh.title
cases.append(case)
except KeyError:
cases.append(case)
return cases
def read_all_excels(self):
self.openexcel()
cases = []
for sheet in self.wb:
if sheet.title[0] is not self.note: #过滤掉注释的sheet页
self.sh = sheet
cases += self.read_excels()
return cases
# def sheet_count(self):
# self.openexcel()
# count = 0
# sheetdict = {}
# for sheet in self.wb:
# if sheet.title[0] is not self.note: #判断用例sheet页是否注释掉 以note符号头开头注释,注释掉便不收集、不执行
# count += 1
# sh = 'sheet' + str(count)
# sheetdict[sh] = sheet.title
# sheetdict['count'] = count
# self.wb.close()
# return sheetdict
def write_excels(self, rows, column, value):
self.openexcel()
self.sh.cell(row=rows, column=column, value=value)
self.wb.save(self.filename)