我想轻松地将这样的字典(具有任意深度,或者说,最多7层嵌套)更改为表格数据结构:
{u'Adjustment': False,
u'DocNumber': u'2',
u'Id': u'1005',
u'Line': [{u'Amount': 50.0,
u'Description': u'Extra Pay for Cellist for 9/27 Session on "Song Name"',
u'DetailType': u'JournalEntryLineDetail',
u'Id': u'0',
u'JournalEntryLineDetail': {u'AccountRef': {u'name': u'Recorded Music:WIP:Studio Musicians',
u'value': u'99'},
u'Entity': {u'EntityRef': {u'name': u'Some Vendor',
u'value': u'92'},
u'Type': u'Vendor'},
u'PostingType': u'Debit'}},
{u'Amount': 50.0,
u'Description': u'Paid Vendor in Cash for amount over $150 check',
u'DetailType': u'JournalEntryLineDetail',
u'Id': u'1',
u'JournalEntryLineDetail': {u'AccountRef': {u'name': u'3000 Capital Account (contr/withdr)',
u'value': u'7'},
u'Entity': {u'EntityRef': {u'name': 'Some Name',
u'value': u'92'},
u'Type': u'Vendor'},
u'PostingType': u'Credit'}}],
u'MetaData': {u'CreateTime': u'2007-09-27T00:00:00-07:00',
u'LastUpdatedTime': u'2007-09-27T00:00:00-07:00'},
u'PrivateNote': u'General Journal',
u'SyncToken': u'0',
u'TxnDate': u'2007-09-27',
u'domain': u'QBO',
u'sparse': False}
实现这一目标的最佳方法是什么。列表的嵌套项目的标题,其键是u'Line',我希望结束状态标题为Line [0] - Amount,以及第一行的JournalEntryLineDetail的实体的EntityRef的名称为Line [ 0] - JournalEntryLineDetail - 实体 - EntityRef - 名称。
我知道如果深度超过几个等级,这会使桌子非常宽,但我们假设这就是我想要的。
我希望有一个模块可以做到这一点。我检查了tablib,但还没弄明白如何做到这一点。