我是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]]