python - 从以字典格式接收的 API 中清理原始价格数据 (Python)

标签 python api dictionary bitcoin ticker

<分区>

使用 Krakenex Python 模块,我从 Kraken 获取价格 API它以以下格式到达:

{u'result': {u'XXBTZEUR': {u'a': [u'214.79000', u'3'], u'c': [u'214.79416', u'2.27789000'], u'b': [u'214.15262', u'7'], u'h': [u'217.36000', u'217.36000'], u'l': [u'210.99999', u'210.99999'], u'o': u'214.01000', u'p': [u'213.77705', u'213.51830'], u't': [1360, 1499], u'v': [u'872.87753147', u'1036.51819483']}}, u'error': []}

(这是下面代码中'ticker'的输出)

通过字典操作,我可以获得最后的收盘价,在本例中为 214.79416:

last_close_raw = ticker["result"]["XXBTZEUR"]["c"]
last_close = last_close_raw[0]

这似乎一直有效,直到我将收盘价输入列表,此时 u' 再次出现。这是完整的代码:

from time import strftime
import krakenex

k = krakenex.API()

x = []
y = []

count = 0

while count <= 9:

    ticker = k.query_public('Ticker', {'pair': 'XXBTZEUR'})

    last_close_raw = ticker["result"]["XXBTZEUR"]["c"]
    last_close = last_close_raw[0]

    timenow = strftime("%H:%M:%S")

    print "%s ----> %s\n----------(%s)" % (timenow, last_close, count)

    x.append(count)
    y.append(last_close)

    count += 1

print "x = ", x
print "y = ", y

这是输出:

23:07:03 ----> 214.79416
----------(0)
23:07:05 ----> 214.79416
----------(1)
23:07:06 ----> 214.79416
----------(2)
23:07:07 ----> 214.79416
----------(3)
23:07:07 ----> 214.79416
----------(4)
23:07:08 ----> 214.79416
----------(5)
23:07:09 ----> 214.79416
----------(6)
23:07:10 ----> 214.79416
----------(7)
23:07:11 ----> 214.79416
----------(8)
23:07:12 ----> 214.79416
----------(9)
x =  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
y =  [u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416', u'214.79416']

为什么列表会带回 u'?我什至尝试从每个价格中删除前两个字符,但这会删除前两位数字,而不是 u'。想法?

最佳答案

令您困扰的是Unicode 字符串和ASCII 字符串之间的区别。要删除 u 使用 encode :

>>> a=u'214.79416'
>>> type(a)
<type 'unicode'>
>>> b = a.encode('ascii','ignore')
>>> type(b)
<type 'str'>
>>> b
'214.79416'

希望这会有所帮助。

关于python - 从以字典格式接收的 API 中清理原始价格数据 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145635/

相关文章:

iphone - 在 MapView 加载时添加用户位置警报 - Xcode

python - 如何抓取 dll 消息调度过程并重定向到 python stdout?

python - 如果对象存在,Django 过滤并显示在模板中

python - 如何将此 XPath 表达式转换为 BeautifulSoup?

api - 应用程序运行时 Flutter Google Map API 问题

PHP Paypal API ExpressCheckout,我不知道我在历史细节中卖了什么

python - 等待收到有效的 JSON 响应 - Python

node.js - 为现有 NodeJS 服务器生成 Swagger 文档

python - 将标签与json格式的句子进行匹配

javascript - 使用 javascript 或 jQuery 使图像映射可选择?