我是python新手,我想使用python将下面的Json文件转换为CSV文件。 请不要在代码中传递整个json数据。只需在代码中传递整个Json文件
{
"Breakfast": {
"Brk_item1": "Milk",
"Brk_item2": "Egg"
},
"Lunch": {
"Lnc_item1": "Pasta",
"Lnc_item2": "Sprouts"
},
"Dinner": {
"Dnr_item1": "Pizza",
"Dnr_item2": "Burger"
}
},
{
"Breakfast": {
"Brk_item1": "Bread",
"Brk_item2": "Butter"
},
"Lunch": {
"Lnc_item1": "Indian Meal",
"Lnc_item2": "Paratha"
},
"Dinner": {
"Dnr_item1": "Roti",
"Dnr_item2": "Paneer"
}
}
我的预期输出将如下CSV格式
Brk_item1 Brk_item2 Lnc_item1 Lnc_item2 Dnr_item1 Dnr_item2
Milk Egg Pasta Sprouts Pizza Burger
Bread Butter Indian Meal Paratha Roti Paneer
这就是我迄今为止所尝试的:
import json
import csv
with open("./sample.json") as file:
data = json.load(file)
fname="output.csv"
with open(fname,"w") as file:
csv_file = csv.writer(file)
csv_file.writerow ([ "Brk_item1","Brk_item2","Lnc_item1","Lnc_item2","Dnr_item1","Dnr_item2"])
for item in data["Breakfast"]:
csv_file.writerow([item["Brk_item1"],item["Brk_item2"],item["Lnc_item1"],item["Lnc_item2"],item["Dnr_item1"],item["Dnr_item2"]])
第一步是写入文件头(您做得正确)
如果加载的json数组是dict数组,那么下一步是迭代数组元素
for elem in data
。因此,在这一步中,每个元素都是一个dict,它有3个元素:Breakfast
,Lunch
,Dinner
。 附加值有多种方法,但由于dict的元素名称都不同,只有3个元素,而且它们总是相同的,因此简单的方法是对值进行硬编码相关问题 更多 >
编程相关推荐