我写了这段代码,然后我在下面写了一个错误。有一个 while 循环,它允许我获取受 1000 列限制的数据,该时间与我在reapeat_rounds变量中描述的时间一样长,但是当我试图使用该循环时,会引发“keyerror:t”。如果我做reapeat_rounds = 0,我不会得到这样的错误,但如果我这样做,这意味着虽然循环不起作用,如果循环工作,我得到错误请帮助我解决该错误,谢谢。class Binance: def __init__(self): self.base = 'https://api.binance.com' self.endpoints = { "order": '/api/v3/order', "testOrder": '/api/v3/order/test', "allOrders": '/api/v3/allOrders', "klines": '/api/v3/klines', "exchangeInfo": '/api/v3/exchangeInfo' } self.headers = {"X-MBX-APIKEY": binance_keys['api_key']} def GetLongerSymbolData(self, symbol:str, interval:str, limit:int=1000, end_time=False): # Basicall, we will be calling the GetSymbolData as many times as we need # in order to get all the historical data required (based on the limit parameter) # and we'll be merging the results into one long dataframe. repeat_rounds = 1 if limit > 1000: repeat_rounds = int(limit/1000) initial_limit = limit % 1000 if initial_limit == 0: initial_limit = 1000 # First, we get the last initial_limit candles, starting at end_time and going # backwards (or starting in the present moment, if end_time is False) df = self.GetSymbolData(symbol, interval, limit=initial_limit, end_time=end_time) while repeat_rounds > 0: # Then, for every other 1000 candles, we get them, but starting at the beginning # of the previously received candles. df2 = self.GetSymbolData(symbol, interval, limit=1000, end_time=df['time'[0]]) df = df2.append(df, ignore_index = True) repeat_rounds = repeat_rounds - 1 return dfData = Binance()m = Data.GetLongerSymbolData('BTCUSDT','1h')
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
难道你不想更换线路吗
df2 = self.GetSymbolData(symbol, interval, limit=1000, end_time=df['time'[0]])
使用类似的东西
df2 = self.GetSymbolData(symbol, interval, limit=1000, end_time=df['time'][0])
?
在这里,将 应用于字符串,这基本上只是导致字符串作为数据帧的键。[0]
'time'
't'
添加回答
举报
0/150
提交
取消