我想使用pandas和json_normalize在python中规范化JSON数据。 以下代码中的第33行工作正常。在第36行,我将最后一个元素更改为' number'并收到以下错误消息:
ValueError: 'number' is not in list
我认为这是因为项目编号'与熊猫的内部变量相冲突。所以我需要重命名所有号码'项目到其他东西。
我在第一种方法中尝试使用下面第28行中的代码 - 但我收到错误消息:
import pandas
from pandas.io.json import json_normalize
data = [{'address': {
'city': 'city A',
'company_name': 'company A'},
'amount': 998,
'items': [{'description': 'desc A1','number': 'number A1'}],
'number': 'number of A',
'service_date': {
'type': 'DEFAULT',
'date': '2015-11-18'},
'vat_option': 123},
{'address': {
'city': 'city B',
'company_name': 'company B'},
'amount': 222,
'items': [{'description': 'desc B1','number': 'number B1'},
{'description': 'desc B2','number': 'number B2'}],
'number': 'number of B',
'service_date': {
'type': 'DEFAULT',
'date': '2015-11-18'},
'vat_option': 456}
]
data[data.index("number")] = "numbr"
print data
# working
#print json_normalize(data, 'items', [['address','city'], ['address','company_name'], 'amount'])
# not working
#print json_normalize(data, 'items', [['address','city'], ['address','company_name'], 'numbr'])
很抱歉,但我对python完全不熟悉 - 我做错了什么?
谢谢!
document.data.toObject(DataClass::class.java)
答案 0 :(得分:0)
得到它 - “数字”似乎是不允许与熊猫。将所有密钥更改为例如“numbr”解决了这个问题:
eval(repr(data).replace("number", "numbr"))
感谢stackoverflow 46734293