【发布时间】:2016-02-13 06:18:30
【问题描述】:
我正在尝试使用 Coinbase 的 API,并希望将其价格用作浮点数,但该对象返回一个 API 对象,我不知道如何转换它。
例如,如果我调用client.get_spot_price(),它将返回:
{
"amount": "316.08",
"currency": "USD"
}
我只想要316.08。我该如何解决?
【问题讨论】:
标签: python api coinbase-api
我正在尝试使用 Coinbase 的 API,并希望将其价格用作浮点数,但该对象返回一个 API 对象,我不知道如何转换它。
例如,如果我调用client.get_spot_price(),它将返回:
{
"amount": "316.08",
"currency": "USD"
}
我只想要316.08。我该如何解决?
【问题讨论】:
标签: python api coinbase-api
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
【讨论】:
它看起来像 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)
【讨论】:
首先,您将返回的对象放入一个变量中并检查返回值的类型。 就像这样:
打印类型(your_returned 对象/变量)
如果这是字典,您可以通过字典键访问字典中的数据。字典结构是:
dict = {key_1:value_1,key_2:value_2,......key_n:value_n}
1.您可以访问字典的所有值。 如下:
print dict[key_1] #输出会返回value_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
【讨论】: