You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python获取Bybit现货BTCUSDT的OHLC数据失败求助

解决获取BTCUSDT K线数据的问题

问题排查与修复点:

  • 交易对符号错误:你要获取的是BTCUSDT,但代码里写的是['BTCUSD'],Bybit现货交易对的正确符号是BTCUSDT,且该参数接受字符串而非列表。
  • 返回数据结构处理:Bybit的query_kline接口返回的响应包含result字段,直接用整个响应转DataFrame会导致数据解析错误,需要提取result部分。
  • 冗余代码清理:你没有用到WebSocket连接,这部分代码可以删除,避免干扰。

修复后的代码:

from pybit import spot
import pandas as pd

# 初始化HTTP会话
session = spot.HTTP(
    endpoint='https://api.bybit.com', 
    api_key='YOUR_API',
    api_secret='YOUR_SECRET'
)

# 获取1小时K线数据(interval=60对应1小时)
data = session.query_kline(symbol='BTCUSDT', interval=60)

# 提取result字段构建DataFrame
df = pd.DataFrame(data['result'])

print(df)

额外注意事项:

  • 确保你的API密钥和密钥具有现货数据查询权限,没有权限也会导致获取不到数据。
  • 如果还是无法获取数据,可以添加异常捕获,查看具体的错误信息:
try:
    data = session.query_kline(symbol='BTCUSDT', interval=60)
    df = pd.DataFrame(data['result'])
    print(df)
except Exception as e:
    print(f"错误信息:{e}")

内容的提问来源于stack exchange,提问作者JECT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:37:16