使用Python的嵌套JSON到CSV设计
我是Python新手,正在尝试找出一个需要将嵌套的JSON解析为CSV的需求 请注意,“顶部”路径在某些情况下还选择了多个对象。因此,对于每个由“paths”构造函数选项匹配的顶级对象,我们得到“m*n”行,其中“m”是“batters.batter”子路径的匹配数,“n”是“topping”子路径的匹配数 JSON: 代码: 获取意外输出:使用Python的嵌套JSON到CSV设计,python,Python,我是Python新手,正在尝试找出一个需要将嵌套的JSON解析为CSV的需求 请注意,“顶部”路径在某些情况下还选择了多个对象。因此,对于每个由“paths”构造函数选项匹配的顶级对象,我们得到“m*n”行,其中“m”是“batters.batter”子路径的匹配数,“n”是“topping”子路径的匹配数 JSON: 代码: 获取意外输出: "item_item_batters_batter_0_id","item_item_batters_batter_0_type","item_item_
"item_item_batters_batter_0_id","item_item_batters_batter_0_type","item_item_batters_batter_1_id","item_item_batters_batter_1_type","item_item_batters_batter_2_id","item_item_batters_batter_2_type","item_item_batters_batter_3_id","item_item_batters_batter_3_type","item_item_id","item_item_name","item_item_ppu","item_item_topping_0_id","item_item_topping_0_type","item_item_topping_1_id","item_item_topping_1_type","item_item_topping_2_id","item_item_topping_2_type","item_item_topping_3_id","item_item_topping_3_type","item_item_topping_4_id","item_item_topping_4_type","item_item_topping_5_id","item_item_topping_5_type","item_item_topping_6_id","item_item_topping_6_type","item_item_type"
"1001","Regular","1002","Chocolate","1003","Blueberry","1004","Devil's Food","0001","Cake","0.55","5001","None","5002","Glazed","5005","Sugar","5007","Powdered Sugar","5006","Chocolate with Sprinkles","5003","Chocolate","5004","Maple","donut"
我想要预期的输出:
id type name batter topping
0001 donut Cake Regular None
0001 donut Cake Regular Glazed
0001 donut Cake Regular Sugar
0001 donut Cake Regular Powdered Sugar
0001 donut Cake Regular Chocolate with Sprinkles
0001 donut Cake Regular Chocolate
0001 donut Cake Regular Maple
0001 donut Cake Chocolate None
0001 donut Cake Chocolate Glazed
0001 donut Cake Chocolate Sugar
0001 donut Cake Chocolate Powdered Sugar
0001 donut Cake Chocolate Chocolate with Sprinkles
0001 donut Cake Chocolate Chocolate
0001 donut Cake Chocolate Maple
0001 donut Cake Blueberry None
0001 donut Cake Blueberry Glazed
0001 donut Cake Blueberry Sugar
0001 donut Cake Blueberry Powdered Sugar
0001 donut Cake Blueberry Chocolate with Sprinkles
0001 donut Cake Blueberry Chocolate
0001 donut Cake Blueberry Maple
0001 donut Cake Devil's Food None
0001 donut Cake Devil's Food Glazed
0001 donut Cake Devil's Food Sugar
0001 donut Cake Devil's Food Powdered Sugar
0001 donut Cake Devil's Food Chocolate with Sprinkles
0001 donut Cake Devil's Food Chocolate
0001 donut Cake Devil's Food Maple
0002 donut Raised Regular None
0002 donut Raised Regular Glazed
0002 donut Raised Regular Sugar
0002 donut Raised Regular Chocolate
0002 donut Raised Regular Maple
0003 donut Old Fashioned Regular None
0003 donut Old Fashioned Regular Glazed
0003 donut Old Fashioned Regular Chocolate
0003 donut Old Fashioned Regular Maple
0003 donut Old Fashioned Chocolate None
0003 donut Old Fashioned Chocolate Glazed
0003 donut Old Fashioned Chocolate Chocolate
0003 donut Old Fashioned Chocolate Maple
0004 bar Bar Regular Chocolate
0004 bar Bar Regular Maple
0005 twist Twist Regular Glazed
0005 twist Twist Regular Sugar
0006 filled Filled Regular Glazed
0006 filled Filled Regular Powdered Sugar
0006 filled Filled Regular Chocolate
0006 filled Filled Regular Maple
为JSON嵌套输入格式制作自己的CSV转换器。为JSON嵌套输入格式制作自己的CSV转换器。
C:\Users\user1>python C:/Users/user1/PycharmProjects/pro1/venv/file3.py item D:/jsonfile1.json D:/filecsv2.csv
Just completed writing csv file with 26 columns
"item_item_batters_batter_0_id","item_item_batters_batter_0_type","item_item_batters_batter_1_id","item_item_batters_batter_1_type","item_item_batters_batter_2_id","item_item_batters_batter_2_type","item_item_batters_batter_3_id","item_item_batters_batter_3_type","item_item_id","item_item_name","item_item_ppu","item_item_topping_0_id","item_item_topping_0_type","item_item_topping_1_id","item_item_topping_1_type","item_item_topping_2_id","item_item_topping_2_type","item_item_topping_3_id","item_item_topping_3_type","item_item_topping_4_id","item_item_topping_4_type","item_item_topping_5_id","item_item_topping_5_type","item_item_topping_6_id","item_item_topping_6_type","item_item_type"
"1001","Regular","1002","Chocolate","1003","Blueberry","1004","Devil's Food","0001","Cake","0.55","5001","None","5002","Glazed","5005","Sugar","5007","Powdered Sugar","5006","Chocolate with Sprinkles","5003","Chocolate","5004","Maple","donut"
id type name batter topping
0001 donut Cake Regular None
0001 donut Cake Regular Glazed
0001 donut Cake Regular Sugar
0001 donut Cake Regular Powdered Sugar
0001 donut Cake Regular Chocolate with Sprinkles
0001 donut Cake Regular Chocolate
0001 donut Cake Regular Maple
0001 donut Cake Chocolate None
0001 donut Cake Chocolate Glazed
0001 donut Cake Chocolate Sugar
0001 donut Cake Chocolate Powdered Sugar
0001 donut Cake Chocolate Chocolate with Sprinkles
0001 donut Cake Chocolate Chocolate
0001 donut Cake Chocolate Maple
0001 donut Cake Blueberry None
0001 donut Cake Blueberry Glazed
0001 donut Cake Blueberry Sugar
0001 donut Cake Blueberry Powdered Sugar
0001 donut Cake Blueberry Chocolate with Sprinkles
0001 donut Cake Blueberry Chocolate
0001 donut Cake Blueberry Maple
0001 donut Cake Devil's Food None
0001 donut Cake Devil's Food Glazed
0001 donut Cake Devil's Food Sugar
0001 donut Cake Devil's Food Powdered Sugar
0001 donut Cake Devil's Food Chocolate with Sprinkles
0001 donut Cake Devil's Food Chocolate
0001 donut Cake Devil's Food Maple
0002 donut Raised Regular None
0002 donut Raised Regular Glazed
0002 donut Raised Regular Sugar
0002 donut Raised Regular Chocolate
0002 donut Raised Regular Maple
0003 donut Old Fashioned Regular None
0003 donut Old Fashioned Regular Glazed
0003 donut Old Fashioned Regular Chocolate
0003 donut Old Fashioned Regular Maple
0003 donut Old Fashioned Chocolate None
0003 donut Old Fashioned Chocolate Glazed
0003 donut Old Fashioned Chocolate Chocolate
0003 donut Old Fashioned Chocolate Maple
0004 bar Bar Regular Chocolate
0004 bar Bar Regular Maple
0005 twist Twist Regular Glazed
0005 twist Twist Regular Sugar
0006 filled Filled Regular Glazed
0006 filled Filled Regular Powdered Sugar
0006 filled Filled Regular Chocolate
0006 filled Filled Regular Maple