Я пытаюсь написать код Python для загрузки данных об акциях NSE для всех перечисленных компаний. На NSE India зарегистрировано чуть более 1700 компаний. Мне нужны данные только за последние 120 дней. Я написал приведенный ниже код, но он выдает ошибку ниже, попробовал несколько способов исправить это, но он все еще не работает. Любые рекомендации по решению этой проблемы будут высоко оценены. Обратите внимание, что я объявил все необходимые переменные, которые присутствуют в моем коде.
Ошибка:
IndexError: одиночный позиционный индексатор находится за пределами границ
Моя версия Python — 3.13
def getHistoricalData(symInfo):
res = None
try:
parseInstrument = urllib.parse.quote(symInfo.instrument_key)
fromDate = (datetime.now(TIME_ZONE) - timedelta(days=120)) . strftime("%Y-%m-%d")
todate = datetime.now(TIME_ZONE).strftime("%Y-%m-%d")
url = f'https://api.upstox.com/v2/historical-ca ... /{fromDate}'
res = requests.get(url, headers={'accept': 'application/json', }, params={}, timeout=5.0)
candleRes = res.json()
if 'data' in candleRes and 'candles' in candleRes['data'] and candleRes['data']['candles']:
candleData = pd.DataFrame(candleRes['data']['candles'])
candleData.columns = ['date', 'open', 'high', 'low', 'close', 'vol', 'oi']
candleData = candleData[['date', 'open', 'high', 'low', 'close', 'vol', 'oi']]
candleData['date'] = pd.to_datetime(candleData['date']).dt.tz_convert('Asia/Kolkata')
candleData['symbol'] = symInfo.tradingsymbol
return candleData
else:
print('No data', symInfo.instrument_key, candleRes)
except:
print(f'Error in data fetch for (symInfo.instrument_key) {res} {e}')
candledfList = []
for i in symboldf.index[:-1]:
candledfList = []
res = getHistoricalData(symboldf.iloc)
if res is not None: candledfList.append(res)
finalDataDf = pd.concat(candledfList, ignore_index=True)
isCsv = True
for symData in candledfList[:-1]:
try:
filename = symData.iloc[0]['symbol']
if isCsv:
filename = f'{filename}.csv'
symData.to_csv(folder + filename, index=False)
del candledfList
else:
filename = f'{filename}.parquet'
symData.to_parquet(folder_parquet + filename, engine='pyarrow')
del candledfList
except Exception as e:
print(f'Error {e}')
Подробнее здесь: https://stackoverflow.com/questions/792 ... -of-bounds
Ошибка Python – IndexError: одиночный позиционный индексатор выходит за пределы ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Чтение файла Excel: IndexError: одиночный позиционный индексатор выходит за пределы
Anonymous » » в форуме Python - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Что означает эта ошибка «IndexError: индекс 0 выходит за пределы оси 0 с размером 0»?
Anonymous » » в форуме Python - 0 Ответы
- 51 Просмотры
-
Последнее сообщение Anonymous
-