#python #loops #binance
#python #циклы #binance
Вопрос:
Я действительно новичок в python, пытаюсь вызвать binance api и получить данные klines для нескольких валютных пар в цикле, а также сохранить их в CSV.
Я хочу ввести список всех пар на Binance, отфильтровать по тем, которые отмечены как активные, а затем выполнить цикл по некоторому коду для каждой валютной пары.
Когда я передаю значения списка в команду binance, я получаю «Недопустимые символы, найденные в параметре ‘symbol’; допустимый диапазон ‘^ [A-Z0-9-_.]{1,20}$’.»
print(pairs_list)
выдает следующее:- ['ETHBTC', 'EOSETH']
#import binance api wrapper
from binance.client import Client
# create the Binance client, no need for api key
client = Client("", "")
#import pandas and the json normalizr
import pandas as pd
#bring in the pairs we want to loop through
df1 = pd.read_csv('BINANCE_ALL_PAIRS.csv')
#filter for the active pairs
df = df1[df1.Active.eq(1)]
#Set up a pairs list to be used to call the api in a loop
pairs_list = df['symbol'].tolist()
#print(pairs_list)
for x in pairs_list:
# valid intervals - 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M
# get timestamp of earliest date data is available
timestamp = client._get_earliest_valid_timestamp(pairs_list, '1d')
# request historical candle (or klines) data
bars = client.get_historical_klines(pairs_list, '1d', timestamp, limit=1000)
Комментарии:
1. Мы не можем видеть ваш CSV-файл; вероятно, он содержит какой-то мусор. Можете ли вы распечатать
repr
пару, когда произойдет ошибка?2. Я думаю, что код выводит = [‘ETHBTC’, ‘EOSETH’] внутри pairs_list вместо ETHBTC в первый раз и EOSETH во второй раз. (Извините, я немного новичок, так что, надеюсь, это имеет смысл)