码迷,mamicode.com
首页 > 编程语言 > 详细

python excel 读写的封装

时间:2020-03-18 15:48:04      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:imp   col   处理   end   value   head   open   dict   cell   


from openpyxl import load_workbook
from common.do_config import cfg
from common.constant import DATA_FILE_PATH #用例excel存放的路径



class HandleExcel:
"""
定义处理excel的类
"""
def __init__(self,sheet_name=None):
self.filename = DATA_FILE_PATH
self.sheet_name = sheet_name

def read_data(self):
#1.打开excel
wb = load_workbook(self.filename)
# 2.定位表单
#如果有传sheetName,那么就获取指定的表单
#如果没有传sheetName ,那么就获取第一个表单
if self.sheet_name is None:
ws = wb.active
else:
ws = wb[self.sheet_name]
# 获取所有的用例数据

values = tuple(ws.iter_rows(min_row=1,max_row=1,values_only=True))

sheet_head_tuple= values[0]

#3.获取用例数据
cases_list = []
for data in tuple(ws.iter_rows(min_row=2,values_only=True)):
item = dict(zip(sheet_head_tuple,data))
cases_list.append(item)
return cases_list

def write_data(self,row,actual,result):
other_wb = load_workbook(self.filename)
actual_column = cfg.get_int("excel","actual_column")
result_column = cfg.get_int("excel","result_column")
if self.sheet_name is None:
other_ws = other_wb.active
else:
other_ws = other_wb[self.sheet_name]
if isinstance(row,int) and(2<=row<=other_ws.max_row):
other_ws.cell(row,column=actual_column,value=actual)
other_ws.cell(row, column=result_column, value=result)
other_wb.save(self.filename)
else:
print("传入的行号有误,行号应大于1的整数")


if __name__ == ‘__main__‘:

excel = HandleExcel("register-login")
print(excel.read_data())

python excel 读写的封装

标签:imp   col   处理   end   value   head   open   dict   cell   

原文地址:https://www.cnblogs.com/fyangq/p/12517487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!