微前端架构如何改变企业的开发模式与效率提升
670
2022-09-19
python字段列表清洗工具(python数据清洗框架)
python字典列表清洗器
场景
在写api的时候, 很多数据来源于第三方, 原始API接口返回的数据很多并不是我们想要的, 我们需要对原始数据进行筛选.
示例
原始数据如下
原始数据 = [
{
'OS-FLV-DISABLED:disabled': False,
'OS-FLV-EXT-DATA:ephemeral': 0,
'disk': 50,
'ephemeral': 0,
'extra_specs': Munch({}),
'id': 'abb677c9-1bf2-415d-97bd-ef62574690ed',
'is_disabled': False,
'is_public': True,
'location': {'cloud': '43.254.45.115',
'project': {'domain_id': None,
'domain_name': None,
'id': '3fb8e4b969eb4db8a67a6d576fc2070c',
'name': None},
'region_name': None,
'zone': None},
'name': 'wangjw',
'os-flavor-access:is_public': True,
'properties': {'OS-FLV-DISABLED:disabled': False,
'OS-FLV-EXT-DATA:ephemeral': 0,
'os-flavor-access:is_public': True},
'ram': 4096,
'rxtx_factor': 1.0,
'swap': 0,
'vcpus': 2
},
...
]
我们只需要如下字段
所需字段 = ["name", "id", "ram", "vcpus", "disk", "is_disabled", "is_public"]
最终结果
最终结果 =[
{
'disk': 50,
'id': 'abb677c9-1bf2-415d-97bd-ef62574690ed',
'is_disabled': False,
'is_public': True,
'name': 'wangjw',
'ram': 4096,
'vcpus': 2
},
...
]
实现
代码如下
#!/usr/bin/env python
# ~*~ coding: utf-8 ~*~
def map_clean(source_key_list, dict):
"""清洗字典
:param source_key:目标查找字段
:param dict: 目标字典
:return:清洗后的字典
"""
tmp = {}
for k, v in dict.items():
if k in source_key_list:
tmp[k] = v
else:
continue
return tmp
if __name__ == "__main__":
source_key_list = ["name", "id", "ram", "vcpus", "disk", "is_disabled", "is_public"]
dict = 原始数据
最终数据 = map_clean(source_key_list, dict)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~