import openpyxl
class ReadExcel:
def __init__(self, file, sheet):
self.file = file
self.sheet = sheet
def open_excel(self):
"""打开工作表"""
self.wk = openpyxl.load_workbook(self.file)
self.sh = self.wk[self.sheet]
def read_excel(self):
self.open_excel()
# sh.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹,tuple里是每个单元格的数据
rows=list(self.sh.rows)
#获取第一行的值,存到列表
list1=[]
for i in rows[0]:
list1.append(i.value)
#print(list1)
#获取剩余行的值,与第一行的标题打包成字典,加入列表中
cases=[]
for i in rows[1:]:
list2=[]
for j in i:
list2.append(j.value)
cases.append(dict(zip(list1,list2)))
return cases
def save(self):
"""保存工作薄"""
self.wk.save(self.file)
def write(self,row, column, value):
"""写入,一定要保存"""
self.open_excel()
self.sh.cell(column=column,row=row,value=value)
self.save()
self.wk.close()
#获取最大行和最大列
sh.max_row
sh.max_column
原文:https://www.cnblogs.com/yokowzl/p/12633982.html