我有这个JSON文件:
{"a": [{"Name": "name1",
"number": "number1",
"defaultPrice": {"p": "232", "currency": "CAD"},
"prices": {"DZ": {"p": "62", "currency": "RMB"},
"AU": {"p": "73", "currency": "AUD"},
"lg": "en"}},
{"Name": "name2",
"number": "number2",
"defaultPrice": {"p": "233", "currency": "CAD"},
"prices": {"DZ": {"p": "63", "currency": "RMB"},
"US": {"p": "72", "currency": "USD"},
"Lg": "en"}}]}
现在我得到一个包含name,number,defaultprices,prices的表,但是prices列有三行,prices 63需要从键p"p": "63", "currency": "RMB".
读取
但我希望得到一个价格和货币分开列的表格,我用了这个:
ndf=pd.concat([pd.Series(x)表示x的价格],轴=1)
但得到一个错误的答案:
0 1
DZ {"p": "232", "currency": "CAD"} {"p": "62", "currency": "RMB"}
AU {"p": "233", "currency": "CAD"} {"p": "63","currency":"RMB"}
有没有办法纠正这个,这样我就可以得到这个预期的输出
Name Number Code currency
name1 number1 AU AUD
name1 number1 DZ RMB
非常感谢
您可以在
defaultPrice
列上使用apply(pd.Series)
,将其拆分为单独的列,然后将其连接回原始数据帧但是,您的
prices
列仍然是字典列表。但是,由于您没有提到您希望如何处理它,所以我只保留了它的原样(不包括在输出中)输出:
json字符串:
获取所需输出的代码:
这将提供:
相关问题 更多 >
编程相关推荐