Пакет из 1k CSV-файлов, которые необходимо преобразовать с некоторыми условиями в xlxs. Запуск цикла for для выбора файлов csv и именования файлов xlsx. Код отлично работает для первых 5-6 преобразований csv в xlsx. Затем получите сообщение об ошибке:
IndexError: индекс 0 выходит за пределы для оси 0 с размером 0
for i in range(client_list_items):
client = client_list[i]
TradeSignals = pd.read_csv(client + '_TradeSignals.csv',header=None)
os.remove(client + '_TradeSignals.csv')
TradeSignals.columns = ['idx','idx','Date','Open','High','Low','Close','Symbol','TrendSELL','TrendBUY']
TradeSignals = pd.merge(TradeSignals,sector[['Industry','Symbol','M-CapRank']],on='Symbol', how='left')
TradeSignals['Buy_Signal'] = (TradeSignals['Low'] <
TradeSignals['TrendBUY']) & (TradeSignals['High'] < TradeSignals['TrendSELL'])
TradeSignals['Sell_Signal'] = (TradeSignals['TrendSELL'] < TradeSignals['High']) & (TradeSignals['TrendBUY'] < TradeSignals['Low'])
TradeSignals = TradeSignals[((TradeSignals['Buy_Signal'] == True) | ((TradeSignals['Sell_Signal'] == True)))]
TradeSignals['Trade'] = np.where(TradeSignals['Buy_Signal'], 'Buy', 'Sell')
TradeSignals = TradeSignals[['Industry','Symbol','Date','Close','M-CapRank','Trade']]
TradeSignals.sort_values(by=['Industry','M-CapRank'], inplace=True);
TradeSignals.set_index(['Industry','Symbol'], inplace=True);
writer = pd.ExcelWriter(client + '_TradeSignal.xlsx', engine='xlsxwriter')
TradeSignals.to_excel(writer, sheet_name='Sheet1')# <----- error midway after a few files are generated(total batch 1k files)
writer.save()
Необходимо преобразовать всю партию 1k CSVфайлы в формате xlsx