【发布时间】:2017-09-23 19:07:46
【问题描述】:
我正在尝试将生成嵌套字典列表的 JSON 写入 CSV,如下所示:
[{'spam': 'xxxx',
'egg': 'yyyy',
'line_items': [{'description': 'hhh',
'amount': 'iii'},
{'description': 'jjj',
'amount': 'kkk'}],
'bacon': 'zzzz'}]
我写了以下代码(对 Python 来说还是很新的):
import csv
jsonData = json.loads(r.text)
keys = list(jsonData[0].keys())
with open(filePathCsv, 'w') as csvfile:
w = csv.DictWriter(csvfile, keys)
w.writeheader()
w.writerows(jsonData)
这会产生以下内容:
我需要实现的是:
每个嵌套的订单项都会生成一个新行。
我想实现这一点的最佳方法是将我的嵌套字典列表解压缩为一个简单的字典列表,如下所示:
[{'spam': 'xxxx',
'egg': 'yyyy',
'description': 'hhh',
'amount': 'iii',
'bacon': 'zzzz'},
{'spam': 'xxxx',
'egg': 'yyyy',
'description': 'jjj',
'amount': 'kkk',
'bacon': 'zzzz'}]
但我不知道如何实现这一点。
或者也许还有其他方法可以达到我的预期效果?
【问题讨论】:
-
那么你的问题解决了吗?