Python-操作excel-003(封装读取excel类
""" excel类,需求的实现时什么 1.读取表头 2.读取数据 --读取表头意外的所有数据 --返回值:列表,成员是每一行数据 初始话工作? 加载一个excel,打开已表单。 """ import os from openpyxl import load_workbook file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'login_cases.xlsx') class HandleExcel: def __init__(self,file_path, sheet_name): # 1.加载excel数据文件 self.wb = load_workbook(file_path) # 2.根据表单名称选择表单 self.sh = self.wb[sheet_name] def __read_titles(self): # 减少其他类对其的调用 titles = [] for item in list(self.sh.rows)[0]: # 遍历第一行的每一列 titles.append(item.value) return titles def read_all_data(self): all_datas = [] titles = self.__read_titles() for item in list(self.sh.rows)[1:]: # 遍历数据行 values = [] for val in item: # 获取每一行的值 values.append(val.value) res = dict(zip(titles, values)) # title和每一行数据,打包成字典 # res['check'] = eval(res['check']) # 将check的字符串,转换成字典对象 all_datas.append(res) return all_datas def close_file(self): self.wb.close() if __name__ == '__main__': fix = HandleExcel(file_path,"login") cases = fix.read_all_data() fix.close_file() for case in cases: print(case)