首页 > 解决方案 > 访问字典中的特定值

问题描述

[
{
  "GENERAL":{      "COMP_TYPE": "Turbine",
  "TEST_NUMBER": ""
 },
  "IMPELLER": {
  "INDUCER_DIAM": "",
  "INERTIA": null
 }, 
  "CUSTOM": {},
  "BOUNDS": {},
     "FILES": [
  {
    "FILE_DATA": "FILE_NAME": "A130_H65_TV11_TT12_TA28.sae"
  },
  {
    "FILE_DATA": "FILE_NAME": "A130_H65_TV11_TT12_TA28.saeT"
  },
  {
    "FILE_DATA": "\n\n1        UI4.22.06\n 537  65   1.0000   0.037053.234         101  0.00000  0.00000\n       "FILE_NAME": "A130_H65_TV11_TT12_TA28.tr1"
  }
 ]
};
{ 
  "GENERAL": {
  "COMP_TYPE": "Turbine",
  "TEST_NUMBER": ""
},
"IMPELLER": {
  "INDUCER_DIAM": "",
  "INERTIA": null
},
"CUSTOM": {},
"BOUNDS": {},
"FILES": [
  {
    "FILE_DATA": "FILE_NAME": "A130_H65_TV11_TT12_TA28.sae"
  },
  {
    "FILE_DATA": "FILE_NAME": "A130_H65_TV11_TT12_TA28.saeT"
  },
  {
    "FILE_DATA": "\n\n1        UI4.22.06\n 537  65   1.0000   0.037053.234         101  0.00000  0.00000\n       "FILE_NAME": "A130_H65_TV11_TT12_TA28.tr1"
  }
]
}
]

我的 JSON 文件在一个列表中包含几个字典,如上所示,我为此目的对其进行了精简。我正在尝试访问每个“FILES”的第三个“FILE_DATA”中的数据。特别是试图在每种情况下获得前两个数字,即 537 和 65。

我能够遍历列表并访问第三个“FILE_DATA”中的所有数据,但无法弄清楚如何仅获取其中的前两个数字。

with open(turbine_json_path, "r") as f:
    turbine = json.load(f)
    for d in turbine:
        print(d["FILES"][2]["FILE_DATA"])

对不起这个基本问题。在问这个问题之前,我尝试了各种技巧。

标签: pythonpython-3.x

解决方案


推荐阅读