• python 实例002 - 数据转换


    题目:
    有一组用例数据如下:
    cases = [
        ['case_id', 'case_title', 'url', 'data', 'excepted'],
        [1, '用例1', 'www.baudi.com', '001', 'ok'],
        [4, '用例4', 'www.baudi.com', '002', 'ok'],
        [2, '用例2', 'www.baudi.com', '002', 'ok'],
        [3, '用例3', 'www.baudi.com', '002', 'ok'],
        [5, '用例5', 'www.baudi.com', '002', 'ok'],
    ]
    
    # 要求一:把上述数据转换为以下格式
    res1 = [
        {'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
        {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
    ]
    
    # 要求二:把上面转换好的数据中case_id大于3的用例数据获取出来,得到如下结果
    res = [
        {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
    ]
    1. def transform(cases):
    2. # if type(cases) != list:
    3. # 判断类型的
    4. if not isinstance(cases, list):
    5. print("不是 list")
    6. return
    7. new_cases = []
    8. title = cases[0]
    9. for case in cases[1:]:
    10. # [1, '用例1', 'www.baudi.com', '001', 'ok'], ['case_id', 'case_title', 'url', 'data', 'excepted'],
    11. # {'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
    12. dict_case = {}
    13. # 可以同时获取索引和值
    14. # for i in case:
    15. # dict_case['title'] = case[0]
    16. # dict_case['case_title'] = case[1]
    17. for i, column in enumerate(case):
    18. # 0, 1
    19. # 1, 用例1
    20. # 0, 1
    21. """
    22. #写死
    23. # dict_case['case_id'] = 1
    24. # dict_case['case_title'] = '用例1'
    25. """
    26. dict_case[title[i]] = column
    27. # dict_case[title[0]] = case[0]
    28. """ 另外方法
    29. for i in cases[1:]:
    30. x = 0
    31. dict_case = {}
    32. for j in i:
    33. dict_case [title[x]] = j
    34. x += 1
    35. """
    36. new_cases.append(dict_case)
    37. return new_cases
    38. print(transform(cases))

     

  • 相关阅读:
    56、MQ(异步通讯的的缺点/优点)
    java计算机毕业设计宠物店管理系统MyBatis+系统+LW文档+源码+调试部署
    perl uc,lc,ucfirst,lcfirst大小写转换函数
    ArcGIS在VUE框架中的构建思想
    智慧校园-档案管理系统总体概述
    设计模式之外观模式
    *(长期更新)软考网络工程师学习笔记——Section 21 防火墙技术原理
    Vue源码学习之响应式原理
    【安全边界】
    【Qt】modbus之串口模式写操作
  • 原文地址:https://blog.csdn.net/qq_41070511/article/details/140067771