首页 > 解决方案 > 如何使用python从json文件中删除多行

问题描述

我确实有以下示例 JSON 文件

 [
  {
    "name": "A"
    "email": "A@test.com",
    "admin": false,
    "groupAdmin": false,
    "profileUpdatable": true
  },
  {"name": "B"
    "email": "B@test.com",
    "admin": false,
    "groupAdmin": false,
    "profileUpdatable": true
  },
  {"name": "C"
    "email": "C@test.com",
    "admin": false,
    "groupAdmin": false,
    "profileUpdatable": true
  },
  {"name": "A"
    "admin": false,
    "groupAdmin": false,
    "profileUpdatable": true
  }
]

我想使用 python3 执行以下操作:

提前致谢

标签: pythondictionary

解决方案


您不必删除块。遍历人员并获取电子邮件密钥(如果存在)。

顺便说一句,您的文件中有错误。在名称的值之后,每个对象中都缺少一个逗号。

data =  [
  {
    "name": "A",
    "email": "A@test.com",
    "admin": False,
    "groupAdmin": False,
    "profileUpdatable": True
  },
  {"name": "B",
    "email": "B@test.com",
    "admin": False,
    "groupAdmin": False,
    "profileUpdatable": True
  },
  {"name": "C",
    "email": "C@test.com",
    "admin": False,
    "groupAdmin": False,
    "profileUpdatable": True
  },
  {"name": "A",
    "admin": False,
    "groupAdmin": False,
    "profileUpdatable": True
  }
]

def get_emails(data: list):
    e_mails = []
    for person in data:
        if "email" in person:
            e_mails.append(person["email"])
    return e_mails

if __name__ == "__main__":
    print(get_emails(data=data))

推荐阅读