【问题标题】:Python coinbase API prices as floatPython coinbase API 价格为浮动
【发布时间】:2016-02-13 06:18:30
【问题描述】:

我正在尝试使用 Coinbase 的 API,并希望将其价格用作浮点数,但该对象返回一个 API 对象,我不知道如何转换它。

例如,如果我调用client.get_spot_price(),它将返回:

{
  "amount": "316.08", 
  "currency": "USD"
}

我只想要316.08。我该如何解决?

【问题讨论】:

    标签: python api coinbase-api


    【解决方案1】:
    data = {
      "amount": "316.08", 
      "currency": "USD"
    }
    price = float(text['amount'])
    

    通过 API 使用 JSON 解析器

    import json
    data = client.get_spot_price()
    price = float(json.loads(data)['amount'])
    print price
    

    【讨论】:

    • 感谢第一种方法有效,即使我调用 'price = float(text['amount'])' 且 price 是 API 对象,它也很有效。
    • 第一种方法在这里有效,因为这里的 API 响应非常简单,只有两个值。例如,twitter 在其 API 响应中有更多数据,并且在使用 JSON 解析后很容易收集数据。
    【解决方案2】:

    它看起来像 json 输出。您可以在 python 中导入json 库并使用loads 方法读取它,例如:

    import json
    
    # get data from the API's method
    response = client.get_spot_price()
    
    # parse the content of the response using json format
    data = json.loads(response )
    
    # get the amount and convert to float
    amount = float(data['amount'])
    
    print(amount)
    

    【讨论】:

      【解决方案3】:

      首先,您将返回的对象放入一个变量中并检查返回值的类型。 就像这样:

      打印类型(your_returned 对象/变量)

      如果这是字典,您可以通过字典键访问字典中的数据。字典结构是:

      dict = {key_1:value_1,key_2:value_2,......key_n:value_n}

      1.您可以访问字典的所有值。 如下:

      print dict[key_1] #输出会返回value_1

      1. 然后您可以将返回的数据转换为整数或浮点数。 转换为整数:

        int(你的数据) 转换为浮点数: 浮动(你的数据)

      如果不是字典,则需要通过以下方式将其转换为字典或 json:

      json.loads(你返回的对象)

      你可以这样做:

          variable = client.get_spot_price()
          print type(variable) #if it is dictionary or not
          print float(variable["amount"]) #will return your price in float
      

      【讨论】:

        猜你喜欢
        • 2017-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-27
        • 1970-01-01
        • 2021-12-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多