【发布时间】:2021-09-21 02:43:12
【问题描述】:
我正在尝试根据多个条件使用 Python 过滤 Json 数组。我的 Json 与此类似(无根名称):
{
"id": "123455",
"outter": {
"inner": [
{
"nox": "abc:6666",
"code": "1329",
}
],
},
"topic": {
"reference": "excel"
},
"date1": "1990-07-28T03:52:44-04:00",
"finalDate": "1990-07-28T03:52:44-04:00"
}
{
"id": "123435",
"outter": {
"inner": [
{
"nox": "abc:6666",
"code": "9351",
}
],
},
"topic": {
"reference": "excel"
},
"date1": "1990-07-28T03:52:44-04:00",
"finalDate": "1995-07-28T03:52:44-04:00"
}
我的目标是根据 2 个条件进行过滤并返回所有匹配的条件。
1: 外部 --> 内部 --> 代码 = 9351 AND
2:最终日期 >= 1995
到目前为止,我可以使用以下代码单独执行此检查:
data = pd.read_json('myFile.ndjson', lines = True)
for item in data['outter']:
for x in item['inner']:
if(x['code'] == '9351'):
found....
但不确定如何同时执行这两项操作,因为我必须使用data['outter'] 或data['finalDate'] 启动循环,并且在循环内我只能看到数组的那个元素,而不是完整的数组。
感谢任何帮助,谢谢!
【问题讨论】:
-
你有一个小错字 - 因为它看起来像你有一个 json 数组,你可以用大括号
[]包装输入 json 并用逗号分隔元素。巧合的是,这被用作 Pythonlist对象。
标签: arrays json python-3.x