Python 将JSON解析为数据帧
您知道如何从API规范化以下JSON输出吗Python 将JSON解析为数据帧,python,json,pandas,Python,Json,Pandas,您知道如何从API规范化以下JSON输出吗 { "AA":{ "country":"US", "currency":"USD", "exchange":"NEW YORK STOCK EXCHANGE, INC.", "finnhubIndustry":"Metals &am
{
"AA":{
"country":"US",
"currency":"USD",
"exchange":"NEW YORK STOCK EXCHANGE, INC.",
"finnhubIndustry":"Metals & Mining",
"ipo":"2016-10-18",
"logo":"",
"marketCapitalization":4348.893,
"name":"Alcoa Corp",
"phone":"14123152900",
"shareOutstanding":185.929586,
"ticker":"AA",
"weburl":"https://www.alcoa.com/global/en/home.asp"
},
"AAA":{
},
使用pd.DataFrame.from_dict(json_normalize(df1),orient='columns')
我得到:
但是我需要一种格式,其中AA.XXX是一行,为AAA.XXX添加了新行,您不需要调用
pd.json\u normalize
;只需使用pd.DataFrame.from_dict
并将orient
参数指定为index
注意,我刚刚将您的json复制到一个新节点中,因此值是相同的
j = {
"AA":{
"country":"US",
"currency":"USD",
"exchange":"NEW YORK STOCK EXCHANGE, INC.",
"finnhubIndustry":"Metals & Mining",
"ipo":"2016-10-18",
"logo":"",
"marketCapitalization":4348.893,
"name":"Alcoa Corp",
"phone":"14123152900",
"shareOutstanding":185.929586,
"ticker":"AA",
"weburl":"https://www.alcoa.com/global/en/home.asp"
},
"AAA":{
"country":"US",
"currency":"USD",
"exchange":"NEW YORK STOCK EXCHANGE, INC.",
"finnhubIndustry":"Metals & Mining",
"ipo":"2016-10-18",
"logo":"",
"marketCapitalization":4348.893,
"name":"Alcoa Corp",
"phone":"14123152900",
"shareOutstanding":185.929586,
"ticker":"AA",
"weburl":"https://www.alcoa.com/global/en/home.asp"} }
您不需要调用
pd.json\u normalize
;只需使用pd.DataFrame.from_dict
并将orient
参数指定为index
注意,我刚刚将您的json复制到一个新节点中,因此值是相同的
j = {
"AA":{
"country":"US",
"currency":"USD",
"exchange":"NEW YORK STOCK EXCHANGE, INC.",
"finnhubIndustry":"Metals & Mining",
"ipo":"2016-10-18",
"logo":"",
"marketCapitalization":4348.893,
"name":"Alcoa Corp",
"phone":"14123152900",
"shareOutstanding":185.929586,
"ticker":"AA",
"weburl":"https://www.alcoa.com/global/en/home.asp"
},
"AAA":{
"country":"US",
"currency":"USD",
"exchange":"NEW YORK STOCK EXCHANGE, INC.",
"finnhubIndustry":"Metals & Mining",
"ipo":"2016-10-18",
"logo":"",
"marketCapitalization":4348.893,
"name":"Alcoa Corp",
"phone":"14123152900",
"shareOutstanding":185.929586,
"ticker":"AA",
"weburl":"https://www.alcoa.com/global/en/home.asp"} }
如果您想使用
json\u normalize
,您可以通过如下方式调用数据帧:
from pandas import json_normalize
json_normalize([d for d in j.values()])
如果您想使用
json\u normalize
,您可以通过如下方式调用数据帧:
from pandas import json_normalize
json_normalize([d for d in j.values()])
我更改了json中第二个节点的几个字段值,以确保它正在做它应该做的事情:)我更改了json中第二个节点的几个字段值,以确保它正在做它应该做的事情:)