python - 用于从 json 文件中过滤嵌套数据的 Python 脚本
问题描述
我正在尝试从嵌套的 JSON 文件中抓取"QUANTITE"
数据,我的目标是在特定的嵌套中提取值。JSON 文件有一个重复的模式:
"T_INDICATEUR_QUANTITEs": [
{
"T_INDICATEUR_NORMEs": null,
"T_PHASE_NORMEs": null,
"ID_INDICATEUR_QUANTITE": 706222,
"ID_PRODUIT": 5881,
"QUANTITE": 18.8,
"ID_INDICATEUR_NORME": 32,
"ID_PHASE_NORME": 23
},
{
"T_INDICATEUR_NORMEs": null,
"T_PHASE_NORMEs": null,
"ID_INDICATEUR_QUANTITE": 706223,
"ID_PRODUIT": 5881,
"QUANTITE": 20.6,
"ID_INDICATEUR_NORME": 32,
"ID_PHASE_NORME": 39
},
{
"T_INDICATEUR_NORMEs": null,
"T_PHASE_NORMEs": null,
"ID_INDICATEUR_QUANTITE": 706224,
"ID_PRODUIT": 5881,
"QUANTITE": 0.191,
"ID_INDICATEUR_NORME": 32,
"ID_PHASE_NORME": 24
},
每个"QUANTITE"
值都有特定的一对"ID_INDICATEUR_NORME"
,"ID_PHASE_NORME"
我如何才能"QUANTITE"
获得特定夫妇的价值"ID_INDICATEUR_NORME"
,"ID_PHASE_NORME"
?
提前致谢!
解决方案
下面是最简单的方法,
import json
# Loding the data
with open('#File path or website URL here','r') as file:
content = file.read()
# Converting json_data to python dictionary format
json_data = json.loads(content)
quantite = -1 # -1 for not found case
for data in json_data['T_INDICATEUR_QUANTITEs']:
# Checking for specific pair
if data['ID_INDICATEUR_NORME'] == x and data['ID_PHASE_NORME'] == y:
quantite = data['QUANTITE']
break
print(f"QUANTITE value is {quantite}")
这里x
和是您的和y
的具体值。ID_INDICATEUR_NORME
ID_PHASE_NORME
如果您的特定对匹配,则此代码段将返回QUANTITE
值,否则它将返回-1
推荐阅读
- python - 在 Numpy 中查找下一个大于阈值的值的索引
- reactjs - 输入for循环反应+打字稿?
- angular - 使用带有子文件夹的 Apache 服务器部署 Angular 7 项目
- python - Python:XML文件中的重复节点并添加到旧节点
- javascript - JS/JQuery 和 iframe
- linux - 如何在 linux ubuntu 上安装 flatc 和 flatbuffers
- firebase - 如何在 nativescript 中集成 Firebase 身份验证?
- java - How to solve the confusion when using Mockito.any()?
- java - 如何从日历中获取昨天的实例?
- sql - 您如何使用数据库元键和值?