我正在尝试在客户端应用程序中解析zmq流。流看起来像这样:
{"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
我缺少什么?
答案 0 :(得分:0)
在代码line
变量类型为String
时,您无法像在line["tick"]
中那样访问字符串索引。
您可以访问字符串上的整数索引,并返回给定索引处的字符。