python中操作excel数据 封装成一个类

本文用python中openpyxl库,封装成excel数据的读写方法

from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet

class ExcelHandler():
    def __init__(self,file):
        self.file=file

    def open_sheet(self,name) ->Worksheet :
#表示此函数的返回值,是一个这样的类型,函数注解 wb=load_workbook(self.file)#通过属性传递 sheet=wb[name] return sheet def header(self,sheet_name): '''获取表头''' sheet=self.open_sheet(sheet_name) headers=[] for i in sheet[1]: headers.append(i.value) return headers def read(self,sheet_name): '''读取所有数据''' sheet=self.open_sheet(sheet_name) rows=list(sheet.rows)#得到所有的数据,包括表头 data=[]#存取所有行的数据 for row in rows[1:]: row_data=[]#存取一行的数据 for cell in row:#取出单元格 row_data.append(cell.value)#把单元格的值存在一行的数据中 #列表转字典,要和header zip data_dict=dict(zip(self.header(sheet_name),row_data)) data.append(data_dict)#把一行的值存在放所有行的数据中 print(data) return data @staticmethod def write(file,sheet_name,row,column,data): wb=load_workbook(file) sheet = wb[sheet_name]#获取表单 cell = sheet.cell(row,column)#获取单个单元格 cell.value = data#写入值 wb.save(file)#保存 wb.close() if __name__ == '__main__': excel=ExcelHandler(r'D:cases.xlsx') sheet=excel.read('Sheet1')

  

原文地址:https://www.cnblogs.com/hherbk/p/12726091.html