Я пытаюсь извлечь ежедневные данные OHLCV для более чем 1000 монет из API-интерфейса cryptocompare и записать эти данные в CSV-файлы; мне удалось написать функцию daily_OHLCV, и она работает хорошо, если я вызываю функцию для отдельной монеты,скажем daily_OHLCV ('BTC', 'USD').
Однако, поскольку я импортировал список тикеров из 1000 монет из файла csv и попытался использовать цикл for для вызова функции daily_OHLCV для каждого тикера в списке, код не работает ив сообщении об ошибке говорится, что объект «DataFrame» не имеет атрибута «время», который никогда не появляется, если я вручную ввожу тикер в идентификатор. Как я могу исправить эту ошибку атрибута?
import requests
import datetime
import pandas as pd
import json
import csv
import os
import os.path
with open ('ICO-list.csv',"r")as f:
reader=csv.reader(f)
ico_ticker_list=[]
for row in reader:
ticker=row[2]
ico_ticker_list.append(ticker)
def daily_OHLCV(symbol, comparison_symbol, allData='true'):
url = 'https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&allData=true'\
.format(symbol.upper(), comparison_symbol.upper())
page = requests.get(url)
data = page.json()['Data']
df = pd.DataFrame(data)
df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time]
path=os.path.expanduser('~')
csvfile=os.path.join(path,'Desktop','Research','daily OHLCV','{}.csv'.format(symbol))
export_csv=df.to_csv(csvfile,na_rep='NA',index=None,header=True)
for item in ico_ticker_list:
daily_OHLCV(item,'USD')
Очень признателен, если кто-то можетпомогите решить эту проблему, чтобы успешно вызвать функцию и создать соответствующий CSV-файл для всех тикеров в ico_ticker_list