我正在嘗試使用 API 從 Binance 檢索所有交易歷史資料。我知道 Binance 只允許您通過指定代碼來獲取資料,這很不幸,但是假設我將所有代碼都放在一個串列中,并且想要全部下載,我該如何以優化的方式進行呢?目前正在做以下作業:
import pandas as pd
from binance import Client, ThreadedWebsocketManager, ThreadedDepthCacheManager
from datetime import datetime
client = Client(Binance_key, Binance_secret)
tickers = ['ADABTC', 'ADABUSD', 'ADAUSDT', 'DOGEUSDT', 'LUNABUSD', 'SOLBUSD', 'SOLUSDT',
'USTBUSD', 'XRPBTC', 'XRPBUSD', 'XRPUSDT']
adabtc_trades = client.get_my_trades(symbol=tickers[0])
adabtc_trades_df = pd.DataFrame(adabtc_trades)
然后在獲得所有資料幀之后,我會加入它們,但是,我覺得這不是一個好習慣,一個一個下載并放入資料幀。建議?
此外,是否有任何存款和取款端點?沒找到,謝謝
uj5u.com熱心網友回復:
這就是我學習 Python 的方式——從 API 中提取資料到 pandas 資料幀中。這是對您目前所擁有的內容的輕微改進:
遍歷您的代碼并在您的迭代中隱式使用代碼值(因此您不必使用索引)。用于pd.concat自動將您的資料框連接在一起。
df = pd.DataFrame()
for ticker in tickers:
data = client.get_my_trades(symbol=ticker)
da = pd.DataFrame(data)
df = pd.concat([df, da], axis=0, ignore_index=True, sort=False)
df.set_index("id", inplace=True)
覆寫 SQL 資料
connection = os.environ.get('SQL_CONNECTION_STRING')
df.to_sql('StockDataTable', con=connection, if_exists='replace', index=True)
有關更多df.to_sql選項,請在此處閱讀:https ://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html
很高興為您提供其他任何需要的幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/455082.html
下一篇:SVG圖示不加載
