将Json File URL导入到熊猫数据框

时间:2019-12-12 13:57:55

标签: python json pandas

我正在尝试将其中包含JSON文件的URL导入为数据框。

import urllib.request, json 
import pandas as pd

with urllib.request.urlopen("https://financialmodelingprep.com/api/v3/company-key-metrics/AAPL?period=quarter") as url:
    data = json.loads(url.read().decode())
    df = pd.DataFrame(data)
print(df)

它没有将JSON文件中的每个指标视为一列,而是将所有指标放在称为“指标”的一列下

我期望的输出是

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

import urllib.request, json 
import pandas as pd
from pandas.io.json import json_normalize

with urllib.request.urlopen('https://financialmodelingprep.com/api/v3/company-key-metrics/AAPL?period=quarter') as url:
    data = json.loads(url.read().decode())
    df = pd.DataFrame(json_normalize(data, 'metrics'))
print(df)

答案 1 :(得分:1)

让我们尝试其他几种方法

使用pd.read_json的选项1:

pd.concat([pd.DataFrame(i, index=[0]) 
           for i in 
           pd.read_json('https://financialmodelingprep.com/api/v3/company-key-metrics/AAPL?period=quarter')['metrics']], 
          ignore_index=True)

使用requests的选项2:

import requests

resp = requests.get('https://financialmodelingprep.com/api/v3/company-key-metrics/AAPL?period=quarter')
txt = resp.json()
pd.DataFrame(txt['metrics'])