我需要将json中的以下嵌套字典从api复制到csv文件
{
"result": [{
"short_description": "I am getting bluescreen error",
"sys_id": "39b5f8c2376ede007520021a54990e5c",
"opened_at": "2016-04-04 05:19:53",
"number":"INC0258523"
},
{
"short_description": "laptop crashed with a blue screen",
"sys_id": "da0095380f43d200a4f941fce1050eeb",
"opened_at":"2016-04-25 06:33:52",
"number":"INC0259067"
},
{
"short_description": "Laptop not booting",
"sys_id": "ecf9c9b00f43d200a4f941fce1050e17",
"opened_at": "2016-04-25 06:07:16",
"number": "INC0259061"
}]
}
这是我到目前为止所尝试的
with open('D:/file.csv', 'wb') as f:
w = csv.DictWriter(f, data.keys())
w.writerow(data)
我在csv文件的单个单元格中得到以下结果
[{"short_description":"I am getting bluescreen error","sys_id":"39b5f8c2376ede007520021a54990e5c","opened_at":"2016-04-04 05:19:53","number":"INC0258523"},{"short_description":"laptop crashed with a blue screen","sys_id":"da0095380f43d200a4f941fce1050eeb","opened_at":"2016-04-25 06:33:52","number":"INC0259067"},{"short_description":"Laptop not booting","sys_id":"ecf9c9b00f43d200a4f941fce1050e17","opened_at":"2016-04-25 06:07:16","number":"INC0259061"}]}
我需要它的格式是密钥short_description,sys_id,opened_at,number是列名,它们的值是相应的列数据。
答案 0 :(得分:1)
您需要提取行词典。现在,您正在使用顶级'result'
dict来提供csv编写器。
with open('D:/file.csv', 'wb') as f:
w = csv.DictWriter(f, data['result'][0].keys())
for row in data['result']:
w.writerow(row)