Я пытаюсь разобрать поток zmq в клиентском приложении. Поток выглядит следующим образом:Python parse panda zmq stream
{"tick": {"instrument":"EUR_GBP","time":"2016-02-17T16:53:45.616062Z","bid":0.77791,"ask":0.77807}}
Я попытался это:
def parse_tick_data(self, line):
dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
time = datetime.strptime(dict_data["time"], dt_format)
ask = float(dict_data["ask"])
bid = float(dict_data["bid"])
instrument = dict_data["instrument"]
return time, instrument, bid, ask
time, symbol, bid, ask = self.parse_tick_data(line["tick"])
print(bid,ask)
Но получить следующее сообщение об ошибке:
time, symbol, bid, ask = self.parse_tick_data(line["tick"])
TypeError: string indices must be integers, not str
Что мне не хватает?
Код форматирования/ошибки для улучшения читаемости – dampier