zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python,zip和dict,快速映射

Pythonzip映射 快速 dict
2023-09-14 09:00:31 时间
    def get_excel_data(self):
        print('------正在批量读取测试用例数据------')
        sheetNames = self.opExcel.get_sheet_names()
        print("获取所有的sheet页的名字:{}".format(sheetNames))
        testData = []
        for name in sheetNames:
            data = self.opExcel.get_data_by_name(name)
            titleName = data.row_values(0)  # 获取到第一行,这个第一样是标题,表头
            print(titleName)
            # rowData = dict.fromkeys(titleName,'')
            rows = data.nrows
            for row in range(1, rows):  # 为什么是从1,因为0是表头,
                print(zip(titleName, data.row_values(row)))
                print(dict(zip(titleName, data.row_values(row))))
                testData.append(dict(zip(titleName, data.row_values(row))))
        print(f'成功读取到本次要执行的全部用例共计{len(testData) + 1}条')
        print(testData)
        return testData

获取到表头,
然后获取到每行的数据,
这两个可迭代对象使用zip变成一个列表,
然后使用dict把这个zip之后的对象,变成key和value,
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped)  # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]