Я хочу использовать список объектов даты в цикле, но я не получаю ожидаемый результат. функция включает в себя параметры даты и валюты. Параметр 'time_start'
не работает должным образом. Я хотел бы просмотреть список дат, которые я генерирую прежде, чем вызвать функцию, но API отправляет мне следующую ошибку. Я пытался изменить формат объекта даты, но он все еще не работает.
ошибка:
{'status': {'timestamp': '2019-10-16T02:43:16.500Z', 'error_code': 400, 'error_message': '"time_start" must be a valid ISO 8601 timestamp or unix time value', 'elapsed': 0, 'credit_count': 0, 'notice': None}}
код:
available = ['1WO', 'ABX', 'ADH', 'ALX', 'AMLT', 'BCH', 'BRC', 'BSV', 'BTC', 'BTRN', 'CAN', 'CEL', 'CHI', 'CMCT', 'COT', 'CRPT', 'DACS', 'DAI', 'DASH', 'DENT', 'DREAM', 'DRG', 'EARTH', 'ECH', 'ENJ', 'ETC', 'ETH', 'ETN', 'EZT', 'FANZ', 'FCT', 'FDX', 'FFC', 'FLIXX', 'FLP', 'FSN', 'FTT', 'FTX', 'GAT', 'GEN', 'GET', 'GUSD', 'GXC', 'GZE', 'HART', 'HERO', 'HOT', 'ICASH', 'IDH', 'IGNX', 'IHF', 'IND', 'IPSX', 'IXT', 'KRL', 'LALA', 'LDC', 'LIKE', 'LND', 'LTC', 'MCO', 'MFUN', 'MGO', 'MITH', 'MITX', 'MRK', 'MT', 'MTN', 'NEO', 'NPLC', 'OAX', 'OMG', 'ONG', 'ONT', 'ORBS', 'PAL', 'PLG', 'PMA', 'PPL', 'PWV', 'QASH', 'QCTN', 'QTUM', 'RBLX', 'REP', 'RFOX', 'SAL', 'SER', 'SGN', 'SIX', 'SNIP', 'SNX', 'SPHTX', 'SPIKE', 'STAC', 'STACS', 'STORJ', 'STU', 'STX', 'THRT', 'THX', 'TPAY', 'TPT', 'TRX', 'TTU', 'UBT', 'UBTC', 'UKG', 'USDC', 'VANY', 'VET', 'VUU', 'VZT', 'WIN', 'WLO', 'XEM', 'XES', 'XLM', 'XMR', 'XNK', 'XRP', 'XTX', 'ZCO', 'ZEC', 'ZPR']
def getOHLCV(currencies, start_dates):
c_price = []
data = {}
try:
url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/ohlcv/historical'
parameters = {
'symbol': ",".join(currencies),
'time_start': ",".join(start_dates),
'count':'91',
'interval':'daily',
'convert':'JPY'
}
headers = {
'Accepts': 'application/json',
'X-CMC_PRO_API_KEY': 'xxxxxxxxxxxxxxxxxxxxxxxxx'
}
session = Session()
session.headers.update(headers)
response = session.get(url, params=parameters)
data = json.loads(response.text)
for currency in data['data']:
used_list = [
item['quote']['JPY']
for item in data['data'][currency]['quotes']
]
price = pd.DataFrame.from_records(used_list)
price['timestamp'] = pd.to_datetime(price['timestamp'])
price['timestamp'] = price['timestamp'].astype(str).str[:-15]
price_c = price.set_index('timestamp').close
c_price.append(price_c.rename(currency))
except Exception as e:
print (data)
return c_price
date_list = [(date.today() - timedelta(days= x * 91)).strftime('%Y-%m-%d') for x in range(3)]
one = []
for i in date_list:
c_price = []
c_price.extend(getOHLCV(available[:61], i))
c_price.extend(getOHLCV(available[61:], i))
#c_price = pd.concat(c_price, axis=1, sort=True)
one.append(c_price)