import openpyxl
from Common.handle_logger import logger
from Common.file_xpath import FileXpath
import os
class ReadExcel():
def __init__(self, file_name, sheet_name):
self.file_name = file_name
self.sheet_name = sheet_name
def open(self):
"""打开工作薄,选择表单"""
self.workbook = openpyxl.load_workbook(self.file_name)
self.sheet = self.workbook[self.sheet_name]
def close(self):
"""关闭工作薄对象,释放内存"""
self.workbook.close()
def read_data(self):
"""
:return:返回数据,列表嵌套字典
"""
# 打开列表
self.open()
# 按行返回所有的格子
rows = list(self.sheet.rows)
# 获取标头行数据
title =[]
for i in rows[0]:
title.append(i.value)
# 创建列表,放所有数据
cases = []
# 遍历除了表头剩余的行
for row in rows[1:]:
# 创建一个空列表,用来存储该行的数据
data= []
for i in row:
data.append(i.value)
# 组合一条数据
case = dict(zip(title,data))
cases.append(case)
self.close()
return cases
def write(self, row, column, value):
"""
写入指定行列的值
:param row: han
:param column:
:param value:
:return:
"""
self.open()
self.sheet.cell(row=row,column=column,value=value)
self.workbook.save()
self.workbook.close()
原文:https://www.cnblogs.com/sanfen7/p/13677343.html