• Python操作excel003(封装读取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)


  • 相关阅读:
    cv2.imwrite()指定图片存储路径问题
    fgets读取文件最后一行重复问题
    KEAZ128 时钟配置
    MinGW x64 for Windows安装
    [python] pygame安装与配置
    S32K144之时钟配置
    C/C++ scanf和gets 区别 , printf和puts区别
    堆排序
    约瑟夫问题
    Coursera 国内无法登陆问题
  • 原文地址:https://www.cnblogs.com/yushengaqingzhijiao/p/15575765.html
Copyright © 2020-2023  润新知