如何从加密货币API返回的OHLC数组中提取首行浮点类型字段值
问题原因
你调用的接口返回的是JSON格式的嵌套数组,而非CSV格式,使用pd.read_csv()解析格式不匹配的数据源必然无法得到正确结果。你原本设计的“转字符串再转数值”的流程也是多余操作,接口返回的字段本身就是数值类型,无需额外做字符串中转。
解决代码
import pandas as pd # 读取接口返回的JSON数据,直接转为DataFrame resp = pd.read_json('https://api.coingecko.com/api/v3/coins/bitcoin/ohlc?vs_currency=eur&days=1') # 为DataFrame设置对应列名 resp.columns = ['Time', 'Open', 'High', 'Low', 'Close'] # 取第一行数据统一转为双精度浮点(float64)格式 first_line = resp.iloc[0].astype('float64') # 赋值到对应变量 Time = first_line['Time'] Open = first_line['Open'] High = first_line['High'] Low = first_line['Low'] Close = first_line['Close']
验证说明
执行完成后你可以打印各变量类型确认:print(type(Time)) 会输出 <class 'numpy.float64'>,符合你要求的双精度浮点类型存储要求。
内容的提问来源于stack exchange,提问作者lemmE
相关产品推荐
相关产品推荐

