import openpyxl # 第一步打开工作薄(读取excel文件中的数据保存为工作簿) workbook = openpyxl.load_workbook(r"C:\Users\Administrator\Desktop\11.xlsx") print(workbook) # 第二步,选中表单对象 sheet = workbook["login"] # excle对应sheet名称 print(sheet) # 第三步:1.通过表单选中表格读取数据 data = sheet.cell(row=2, column=3) print(data) print(data.value) # 2.写入内存数据 sheet.cell(row=2, column=6, value=7) # 写入内存数据,需要保存才会生效 workbook.save(r"C:\Users\Administrator\Desktop\11.xlsx") # 文件一定要关掉 # 3获取最大的行和列,不要随便在excle中写入空格,否者会增加对应的空格 print(sheet.max_row) print(sheet.max_column) # 4.rows:按行获取所有的格子对象,每一行的格子放入一个元组 # print(list(sheet.rows)) # 读取excle的类 ''' 封装为了使用更加方便,提高代码的重用率 ''' class ReadExcle(object): def __init__(self, filname, sheet_name): """ :param filname: excle的文件名称 :param sheet_name: sheet的名称 """ self.filename = filname self.sheet_name = sheet_name def open(self): self.wb = openpyxl.load_workbook(self.filename) self.sh = self.wb[self.sheet_name] def save(self): """ 报错工作簿的方法 :return: """ self.wb.save(self.filename) self.wb.close() # 主要作用释放内存 def read_data(self): """ 读取数据 #1打开工作簿,选中表单 :return: """ self.open() # 获取最大的行 max_row = self.sh.max_row max_colmn = self.sh.max_column datas = [] for i in range(1, max_row + 1): date = [] for j in range(1, max_colmn + 1): date1 = self.sh.cell(i, j).value date.append(date1) datas.append(date) title = datas[0] print("data===", datas) cases = [] for data in datas[1:]: case = dict(zip(title, data)) cases.append(case) return cases def write_data(self): pass excel = ReadExcle(r"C:\Users\Administrator\Desktop\12.xlsx", "login") excel.read_data()