4

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

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

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

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

4

3 回答 3

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
于 2015-11-12T01:05:54.063 回答
0

它看起来像一个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)
于 2015-11-12T01:13:52.630 回答
0

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

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

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

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

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

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

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

    int(your_data) 转换为浮点数:float(your_data)

如果它不是字典,则需要通过以下方式将其转换为字典或 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
于 2015-11-12T01:53:38.523 回答