def data2dict(data): # def list_list2list_dict(data): ''' 把带头标题的二维数组,转换成以标题为 key 的 dict 的 list ''' list_dict_data = [] key = [] g.header_custom = {} # 用户自定义的标题 for d in data[0]: k = d.strip().split('#')[0] # 如果为中文,则替换成英文 h = header.get(k, k).lower() key.append(h) g.header_custom[h] = d.strip() if not g.header_custom.get('expected'): g.header_custom['expected'] = '' for d in data[1:]: dict_data = {} for i in range(len(key)): if isinstance(d[i], str): dict_data[key[i]] = str(d[i]).strip() else: dict_data[key[i]] = d[i] list_dict_data.append(dict_data) return list_dict_data
def data2dict(data): ''' 把带头标题的二元数组,转换成以标题为 key 的 dict 的 list 用于解析元素、解析用例 :param data: 带头标题的二元数组(元素表、用例表) :return: 以标题为 key 的 dict 的 list(元素表、用例表) ''' list_dict_data = [] key = [] # 第一行为头标题,先获取所有的头标题,存储在key列表中 for d in data[0]: k = d.strip() # 解析时,如果为中文,则替换成英文 h = header.get(k, k).lower() key.append(h) # 遍历其余行,进行结构转换 for d in data[1:]: dict_data = {} for i in range(len(key)): if isinstance(d[i], str): dict_data[key[i]] = str(d[i]).strip() else: dict_data[key[i]] = d[i] list_dict_data.append(dict_data) return list_dict_data