【发布时间】:2021-11-22 14:40:15
【问题描述】:
我从 API 请求数据,然后尝试规范化这个 JSON 文件,它有这个结构
[{'la_id': '33',
'store': '1405fdsa6001209',
'sell': '110aa346',
'products': [{'codigo': '176690', 'lacre': '15980fd2293', 'valor': '49.90'},
{'codigo': 'sd4907', 'lacre': '1598a12385', 'valor': '19.90'},
{'codigo': 'aa4907', 'lacre': '1598a2384', 'valor': '19.90'},
{'codigo': '1fd307', 'lacre': '1598a20401', 'valor': '169.90'}],
'payment': {'paymentid': '10a836',
'value': '259.6000',
'number': '4',
'finalid': '4',
'finalname': 'Cartao de credito',
'docs': '849763',
'flag': None}}
'pagamentos': [{'pagamento_id': '107795',
'valor': '854.9900',
'numero_parcelas': '10',
'finalizador_id': '4',
'finalizador_nome': 'Cartao de credito',
'documento': '500003',
'bandeira': 'MASTERCARD'}]
当我应用 JsonNormalize 以将其转换为数据框时,我得到了这个:
| id | store | sell | products | pagamentos |
|---|---|---|---|---|
| 33 | 1405fdsa6001209 | 110aa346 | [{'codigo': '176690', 'lacre': '15980fd2293', 'valor': '49.90'}, {'codigo': 'sd4907', 'lacre': '1598a12385', 'valor': '19.90'}, {'codigo': 'aa4907', 'lacre': '1598a2384', 'valor': '19.90'}, {'codigo': '1fd307', 'lacre': '1598a20401', 'valor': '169.90'}] | [{'pagamento_id': '10aa95','valor': '84.9900','numero_parcelas': '10','finalizador_id': '4','finalizador_nome': 'Cartao de credito','docs': '500003','bandeira': 'MASTERCARD'}] |
如您所见,最后两列没有正确获取值,它们在列表中有字典。我该如何解决这个问题?
【问题讨论】:
-
1) 发布一个有效的 JSON 结构。 2)规范化JSONmanualy并分享结果
-
@Leonardo 请添加“|”表格第二行中用于格式化表格的符号
-
更新了我的解决方案以获得额外的
pagamentos。请看一看。
标签: python json pandas python-requests data-science