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

使用pycoingecko调用CoinGecko API返回异常,如何单独获取币种名称与美元价格?

代码问题根因
  • 现有实现存在两处核心逻辑错误:
    • 调用cg.get_price()接口后,没有把返回的价格字典存入变量,哪怕之前单独写了一行带参数的接口调用,因为没有接收返回值,请求拿到的价格数据完全不会被后续代码使用,属于无效调用。
    • 打印语句指向错误目标:直接print(cg.get_price)是输出方法对象本身的内存标识,不是执行方法拿到的返回结果,因此才会输出绑定方法的那段提示文本,而非预期的价格数据。
可实现需求的调整方案

按照「接收接口返回值-拆分提取字段-分开输出」的逻辑调整代码,就能实现单独输出代币名、单独输出对应美元价格的效果,完整可运行代码如下:

from pycoingecko import CoinGeckoAPI

cg = CoinGeckoAPI()
# 存储接口返回的结构化价格数据
price_data = cg.get_price(ids='bitcoin', vs_currencies='usd')

# 从返回的字典中单独提取字段
# 字典第一层键即为查询的代币名称
token_name = list(price_data.keys())[0]
# 顺着字典层级提取对应美元价格
usd_price = price_data[token_name]["usd"]

# 分开展示结果
print(f"代币名称:{token_name}")
print(f"美元价格:{usd_price}")

扩展说明

  • 如果后续需要查询多个代币,只需要修改ids参数的传值(用逗号分隔多个代币id,比如ids='bitcoin,ethereum,solana'),遍历price_data的键值对即可批量提取所有代币的对应价格,不需要逐行硬编码取值路径。
  • 打印方法结果时必须在方法名后加括号完成调用,只要遗漏括号,本质都是在打印方法对象本身,和传入的参数没有关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 15:36:05