• do_excel 3种 根据需要使用


    import pandas as pd
    from openpyxl import load_workbook
    
    class DoExcel:
    #第一种  读取所有sheet
        # def get_data(self,filename):
        #     wb =load_workbook(filename)
        #     mode = eval(ReadConfig.get_config(case_config_path,"MODE","mode"))
        #     # tel = getattr(GetData,"NoRegTel") #利用反射从excel里的init表中拿到的数据
        #     test_data =[]
        #     for key in mode:#遍历这个存在配置文件里面的字典
        #         print("这是表名:",mode[key],type(mode[key]))
        #         sheet = wb[key] #表单名
        #         if mode[key] == 'all':
        #             for i in range(2, sheet.max_row + 1):
        #                 row_data = {}  # 字典
        #                 row_data["case_id"] = sheet.cell(i, 1).value
        #                 row_data["username"] = sheet.cell(i, 2).value
        #                 row_data["password"] = sheet.cell(i,3).value
        #                 row_data["email"] = sheet.cell(i,4).value
        #                 row_data["sheet_name"] = key
        #                 test_data.append(row_data)
        #
        #         else:
        #             for case_id in mode[key]:#不为all就为列表
        #                 row_data = {}  # 字典
        #                 row_data["case_id"] = sheet.cell(case_id+1, 1).value
        #                 row_data["username"] = sheet.cell(case_id+1, 2).value
        #                 row_data["password"] = sheet.cell(case_id+1, 3).value
        #                 row_data["email"] = sheet.cell(i, 4).value
        #                 row_data["sheet_name"] = key
        #                 test_data.append(row_data)
        #
        #     return test_data
        #
        #
        # def write_back(self,filename,sheetname,i,result):#回写数据
        #     wb = load_workbook(filename)
        #     sheet = wb[sheetname]
        #     sheet.cell(i+1,5).value = result
        #     wb.save(filename)#保存结果
    
    
    #第二种   pandas读取一张sheet
        def get_data(self,filename,sheetname):
            df = pd.read_excel(filename,sheet_name=sheetname)
            test_data=[]
            for i in df.index.values:
                row_data = df.loc[i].to_dict()
                test_data.append(row_data)
            return test_data
    
    
    #第三种   pandas 读取所有sheet
        # def get_data(self,filename):
        #     mode = eval(ReadConfig().get_config(case_config_path,"MODE","mode"))
        #
        #     test_data = []
        #     for key in mode:
        #
        #         df = pd.read_excel(test_case_path,sheet_name=key)
        #         if mode[key] == 'all':
        #             for i in df.index.values:
        #                 row_data = df.loc[i,"case_id":"expect"].to_dict()
        #                 test_data.append(row_data)
        #
        #         else:
        #             for case_id in mode[key]:
        #                 row_data = df.loc[case_id,"case_id":"expect"].to_dict()
        #                 test_data.append(row_data)
        #     return test_data
    
    
    if __name__ == '__main__':
        do_excel = DoExcel()
        test_data = do_excel.get_data(test_case_path)
        print(len(test_data))
        print(test_data)
        #
  • 相关阅读:
    java 支付宝即时到帐提交订单dome
    C#字符串string的常用使用方法(转载)
    UltraEdit 回车符替换空格
    java 七牛上传图片到服务器(采用的html5 压缩 传输base64方式)
    c# 多播委托
    c# 泛型委托
    c# 求数组的最大值
    c# 匿名函数和lamda表达式语法
    匿名函数和lamda表达式
    导出Excel之Epplus使用教程4(其他设置)
  • 原文地址:https://www.cnblogs.com/lexus168/p/12766905.html
Copyright © 2020-2023  润新知