Python读取api,resu

2024-03-29 12:55:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python2.7编写一个程序来读取www上的api https://api.kraken.com/0/public/Ticker?pair=XRPEUR

我成功了一部分,但我只需要第一个号码。 这是我的密码:

import requests
import json

xrp = "https://api.kraken.com/0/public/Ticker?pair=XRPEUR"

response = requests.get(xrp)
data = response.text
parsed = json.loads(data)
c = parsed["result"]["XXRPZEUR"]["c"]

print c

"""
print c =


[u'0.38310000', u'1564.04672409']


"""

我的结果是:

[u'0.38310000', u'1564.04672409']

但我只需要0.38310000。 你能帮助我吗? 谢谢


Tags: httpsimportcomapijsondataresponsepublic
2条回答

[u'0.38310000', u'1564.04672409']

Looks like you are dealing with a list as you can see it is in [] brackets with comma delimited items. Lists are 0-index based, meaning 0 is the position of the first element.

c[0]只会得到第一个数字。你知道吗

然后要转换为float,请使用float()

... code
some_string = c[0]
some_float = float(some_string)

或者,简单地说,假设你的回答中至少有一个元素:

first_num = float(parsed["result"]["XXRPZEUR"]["c"][0])

编辑:

我将保留答案,但我想我最初误解了你的问题,你需要所有的结果(不仅仅是第一个)作为浮动。你知道吗

在本例中,使用map()将列表中的所有元素转换为float(根据@LeKhan9的答案,他在我之前发布了map()解决方案)。你知道吗

c = parsed["result"]["XXRPZEUR"]["c"]
result = map(float, c)

如果您的问题是如何将此列表转换为浮动列表:

c = map(float, c)
print c

输出:

[0.3831, 1564.04672409]

然后可以通过c[0]获得第一个浮点值

相关问题 更多 >