Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import xlwt # Import `xlwt` pip install xlwt
- book = xlwt.Workbook() # create xls file
- book = xlwt.Workbook(encoding="utf-8")# Initialize a workbook
- sheet1 = book.add_sheet("Full_List") # Add a sheet to the workbook
- sheet2 = book.add_sheet("Sorted") # Add a sheet to the workbook
- from binance_api import Binance
- bot = Binance(
- API_KEY='EEt5ipvr7JMMn1CSO6alvf6lEKk4Dmz05WOX0hb7TcaBWMqn9evA8PeTjx7e4Ewe',
- API_SECRET='xQpOoyHTWm8jRc5wK4CvgsThF3JNxvGgj987meB7rmPaSUIKJsxLhUTTalrHqpUz'
- )
- SYM='BNBBTC'
- # INFO = 'ddd'
- # INFO = bot.exchangeInfo() # Настройки и лимиты биржи - /api/v1/exchangeInfo
- # INFO - bot.depth(symbol=SYM,limit=5) # Открытые ордера (книгa ордеров), limit - кол-во возвращаемых записей от 5 до 1000
- # INFO = bot.trades(symbol=SYM,limit=1) # Последние (чужие) сделки - /api/v1/trades
- # INFO = bot.klines(symbol=SYM, interval='5m', limit=1) # Данные по свечам, limit – кол-во свечей (максимум 500, по умолчанию 500)
- # INFO = bot.aggTrades(symbol=SYM, limit=1) # Сжатая история сделок - /api/v1/aggTrades
- # INFO = bot.tickerPrice(symbol=SYM) # Последняя цена по паре (или парам)
- # INFO = bot.tickerBookTicker(symbol=SYM) # Лучшие цены покупки/продажи - /api/v3/ticker/bookTicker
- INFO = bot.ticker24hr() # Статистика за 24 часа - /api/v1/ticker/24hr Если symbol не указан, возвращаются данные по всем парам
- print (INFO)
- Dict=dict()
- for i in range(len(INFO)): # разбиваем список словарей на словари
- Dict[i]=INFO[i] # создаем новый массив словарей
- INFO[i].update({'SPRED':00}) # добавляем новые
- INFO[i].update({'SPRED/BID':00})# значения к
- INFO[i].update({'RANK':00}) # нашему словарю
- row=0 # столбцы
- col=0 # строки
- for key in Dict[0]: # перебираем все ключи самого первого словаря (любого)
- sheet1.write(col,row, key) # для формирования из них строки с названием столбцов
- row+=1
- for col in Dict: # в каждую строку будем записывать содержимое словаря из массива словарей Dict
- row=0 # обнуляем столбец
- for key in Dict[col]: # перебор значений всех ключей в выбранном словаре
- sheet1.write(col+1,row, Dict[col][key])# построчная запись в xls файл всех значений словаря
- row+=1
- for key in INFO: # расчет оценочных параметров для каждой пары
- try:
- key['SPRED'] = (float(key['askPrice'])-float(key['bidPrice']))
- key['SPRED/BID']=(float(key['askPrice'])-float(key['bidPrice'])) / float(key['bidPrice'])
- key['RANK'] = (float(key['askPrice'])-float(key['bidPrice'])) / float(key['bidPrice']) * float(key['volume'])
- except(ZeroDivisionError):
- print('ZeroDivisionError')
- pass
- Sorted_List=sorted(INFO, key= lambda d: d['RANK'], reverse=True) # сортировка списка словарей по убыванию 'RANK'
- NewRows=['symbol', 'priceChangePercent', 'highPrice', 'lowPrice', 'weightedAvgPrice', 'bidPrice', 'askPrice', 'volume', 'SPRED','SPRED/BID', 'RANK'] # перечень нужных столбцов
- for i in range(len(NewRows)):
- key=NewRows[i] # название столбца
- row=i # столбцы
- col=0 # строки
- sheet2.write(col,row, key) # пишем название столбца
- for j in Sorted_List:
- col+=1
- sheet2.write(col,row, j[key]) # заполняем все строки столбца
- book.save("PairsParams.xls")# Save the workbook
Add Comment
Please, Sign In to add comment