이 질문에는 이미 답변이 있습니다.
사용크라 켄 덱스파이썬 모듈, 나는 크라켄으로부터 가격을 받고있다.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가 아닌 처음 두 자리를 제거합니다. 생각?
유니 코드 문자열과 ASCII 문자열의 차이점은 무엇입니까. 해당 항목을 제거하려면u
용도encode
:
>>> a=u'214.79416'
>>> type(a)
<type 'unicode'>
>>> b = a.encode('ascii','ignore')
>>> type(b)
<type 'str'>
>>> b
'214.79416'
희망이 hepl 것입니다.