【问题标题】:Eurostat API format [closed]欧盟统计局 API 格式 [关闭]
【发布时间】:2022-08-15 23:27:17
【问题描述】:

我正在使用他们的 API 服务从 EUROSTAT 下载数据,并在 Python 上发送了一个请求(此 URL 的请求:https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/MAR_GO_QM_BE/?format=JSON&lang=EN&time=2021-Q4

然而,我根本不明白如何获取数据的结构,我有一个 ID 和值列表,并且没有关于如何创建 DF 的信息。

What I get What I am querying

有谁有他们的经验?

谢谢!

    标签: python api python-requests


    【解决方案1】:

    它似乎是 JSON 数据,您可以通过请求轻松获取和解码:

    import requests
    
    url = 'https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/MAR_GO_QM_BE/?format=JSON&lang=EN&time=2021-Q4'
    response = requests.get(url)
    data = response.json()
    print(data['value'])
    

    结果:

    {'45145': 53,
     '45147': 53,
     '45025': 11,
     '45027': 11,
     '45540': 123,
     '45541': 4,
     '45542': 119,
     '44465': 444,
     '44466': 5,
     '44467': 162,
     '44469': 277,
     '45055': 642,
     '45056': 94,
     '45057': 548,
     '45065': 947,
     ...
    

    如果要将其放入 pandas DataFrame 中,可以使用以下命令:

    import pandas as pd
    
    df = pd.DataFrame(data['value'].items())
    

    如果您需要对其进行排序,这是一个选项:

    df = pd.DataFrame(sorted(data['value'].items(), key=lambda x: int(x[0])))
    

    【讨论】:

    • 嗨,谢谢,我的 cmets 与响应的格式更相关。我应该得到一个包含几列的值表(港口、液体散货的价值、干散货的价值......)。 JSON 响应只是一个带有 ID 的值列表,我不知道什么是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多