【问题标题】:Converting an API response into Python Pandas Data Frame将 API 响应转换为 Python Pandas 数据框
【发布时间】:2021-07-13 21:59:08
【问题描述】:

尊敬的社区专家

我有一个 API 返回以下结构,我需要将其转换为 pandas 数据框。 我该怎么做才能创建这样的数据框?。

谢谢,埃尔南

[{'quoteSymbol': 'USDT',
  'baseSymbol': 'ETH',
  'orderBooks': [{'exchange': 'Bittrex',
    'orderBook': {'asks': [{'price': '2112.20173745',
       'quantity': '1.41879654'},
      {'price': '2112.38300246', 'quantity': '1.41868464'},
      {'price': '2112.56760000', 'quantity': '0.00209173'}],
     'bids': [{'price': '2111.08708148', 'quantity': '1.41874566'},
      {'price': '2110.87591399', 'quantity': '1.41874566'},
      {'price': '2110.73500000', 'quantity': '2.35200000'}]}},
   {'exchange': 'Binance',
    'orderBook': {'asks': [{'price': '2092.91000000',
       'quantity': '27.01387000'},
      {'price': '2092.96000000', 'quantity': '3.34463000'},
      {'price': '2092.97000000', 'quantity': '8.13200000'}],
     'bids': [{'price': '2112.52000000', 'quantity': '1.45438000'},
      {'price': '2112.36000000', 'quantity': '0.45074000'},
      {'price': '2112.35000000', 'quantity': '0.97545000'}]}},
   {'exchange': 'Bitstamp', 'orderBook': None}]}

【问题讨论】:

  • 您希望数据框是什么?比如你想要哪些列以及它们如何从 JSON 映射?
  • 列:报价代码、基准代码、交易所、订单类型(询价/出价)、价格、数量;订单簿

标签: python pandas api


【解决方案1】:

我的建议是首先将您拥有的 JSON 转换为字典列表。每个字典都应具有与最终数据框中所需的列相对应的键。

【讨论】:

  • @HernanN 我建议从小处着手。也许通过创建一个包含'price''quantity' 的字典列表。或者,您可以从仅包含 'quote_symbol''base_symbol' 的列表开始。关键是将问题分解成更小的部分,您可以弄清楚如何解决,然后采取下一个您可以解决的部分,等等。
  • @HernanN 你可能想把它分解得比我之前的评论还要小。如果您将 API 响应作为字符串获取,则需要将其解析为列表。如果您已经有一个列表,则需要遍历该列表。例如,作为第一步,您可以解析 JSON,然后遍历列表并打印出每个元素。
猜你喜欢
  • 1970-01-01
  • 2020-11-03
  • 2019-06-21
  • 2014-08-19
  • 2020-11-02
  • 2020-06-17
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
相关资源
最近更新 更多