• 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))

     

  • 相关阅读:
    Markdown 和 LaTeX 写作规范(持续更新,建议收藏)
    跳动的爱心(可改颜色)
    初步认识端口服务查询--netstat
    稳了,我用 Python 可视化分析和预测了 2022 年 FIFA 世界杯
    wondows10用Electron打包threejs的项目记录
    canvas基础2 -- 形状
    组合和为N的数量-第13届蓝桥杯选拔赛Python真题精选
    【Python基础入门5】关于数据类型
    .net 温故知新:【6】Linq是什么
    基于GRNN网络和小波变换的ECG信号睡眠监测matlab仿真
  • 原文地址:https://blog.csdn.net/qq_41070511/article/details/140067771