用Python分析这个JSON文件中的特定值



我是Python的新手,需要一些帮助来解析这个特定的值,并将其从JSON文件插入CSV文件。

这是我的JSON文件的一个片段

{
"data": [
{
"id": 5555,
"name": "Dodge RAM",
"pump": {
"50400": {
"device_id": 50400,
"type": "Diesel Car"
}
}
}
]
}

我想得到像这个一样的CSV输出

id   |    name   | device_id
5555 | Dodge RAM | 50400

这是我的Python代码:

all_rows = response.json()
filename = "output.csv"
with open(filename, "w") as file:
csv_file = csv.writer(file, lineterminator='n')
csv_file.writerow(["id", "name", "device_id"])
for item in all_rows["data"]:
csv_file.writerow([item['id'], item['name'], item['pump']['device_id'])

我的代码打印了泵"50400": {"device_id": 50400, "type": "Diesel Car"}内的所有值我只想要device_id,我不知道如何跳过"50400";在泵中获取device_id。50400不是一个常数值,它会随着device_id的变化而变化。

感谢您的帮助!非常感谢。

浏览字典项,选择那些密钥等于"device_id"的项:

[
[vals['device_id'] for dev_id,vals in item["pump"].items() 
if vals['device_id']==int(dev_id)] 
for item in all_rows["data"]
]
#[[50400]]

最新更新