猿问

如何修复这个“关键错误:t”我在编写一段时间循环时得到的?

我写了这段代码,然后我在下面写了一个错误。有一个 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 df


Data = Binance()


m = Data.GetLongerSymbolData('BTCUSDT','1h')


慕容森
浏览 67回答 1
1回答

莫回无

难道你不想更换线路吗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'
随时随地看视频慕课网APP

相关分类

Python
我要回答