python字段列表清洗工具(python数据清洗步骤)

网友投稿 315 2022-08-18

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小时内删除侵权内容。

上一篇:python重试次数装饰器(python多重装饰器)
下一篇:python字段列表清洗工具(使用python进行数据清洗常用的库)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~