python - 如何使用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 执行以下操作:
- 想要删除没有“电子邮件”键的块。
- 只想提取电子邮件值
提前致谢
解决方案
您不必删除块。遍历人员并获取电子邮件密钥(如果存在)。
顺便说一句,您的文件中有错误。在名称的值之后,每个对象中都缺少一个逗号。
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))
推荐阅读
- python - 如何验证 __init__ 中的类参数?
- javascript - 为什么样式没有被 ClassList.Add() 应用?
- php - Woocommerce:迭代订单和订购产品的最佳方式
- python - 在 Python 中模拟概率问题的样本空间
- python - Python将字符串中的多个位置分别切换为多个字母
- c# - 调用方法时的 C# 运行时 NullReferenceException
- playframework - 使用 Ebean 时 Play Java Starter Example 上不支持的类文件主要版本 58
- windows - 为VS构建时,如何在调试和发布之间在CMake中指定不同的二进制文件
- java - 从不断变化的 BufferedImage 创建 RTMP 流
- html - 如何在不增加同一 div 中的图像大小的情况下增加箭头的大小?