我正在使用一個加密 API,它為我提供了過去幾周的時間、開盤價、最高價、最低價和收盤價。我只需要第一行。
輸入:
[[1635260400000, 53744.5, 53744.5, 53430.71, 53430.71], [1635262200000, 53635.49, 53899.73, 53635.49, 53899.73], [1635264000000, 53850.63, 54258.62, 53779.11, 54242.25], [1635265800000, 54264.32, 54264.32, 53909.02, 54003.42]]
我試過了:
resp = pd.read_csv('https://api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=eur&days=1')
resp = resp.astype(str)
Time = resp[resp.columns[0]]
Open = resp[resp.columns[1]]
High = resp[resp.columns[2]]
Low = resp[resp.columns[3]]
Close = resp[resp.columns[4]]
但這不起作用,因為我無法處理它(我想將它從 object 處理為 str 到 double 或 float)。我想將每個值作為不同變數中的雙精度值。我有點堅持這一點。
uj5u.com熱心網友回復:
使用 Pandas 的問題是 JSON 陣列會創建一行多列。
如果您希望只回圈遍歷 JSON 陣列,我建議使用請求而不是 Pandas。
import requests
resp = requests.get('https://api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=eur&days=1')
for row in resp.json():
timestamp, open_price, high, low, close = row
...
uj5u.com熱心網友回復:
你只需要使用 read_json:
resp = pd.read_json('https://api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=eur&days=1')
resp = resp.astype(float)
Time = resp[resp.columns[0]]
Open = resp[resp.columns[1]]
High = resp[resp.columns[2]]
Low = resp[resp.columns[3]]
Close = resp[resp.columns[4]]
但是之前的解決方案更加緊湊和易于理解。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/339000.html
