Python 如何从API交互代理的ib.reqHistoricalData生成的元组列表中获取元素

Python 如何从API交互代理的ib.reqHistoricalData生成的元组列表中获取元素,python,api,dictionary,interactive-brokers,Python,Api,Dictionary,Interactive Brokers,交互式代理API为此请求提供: spzValue = ib.reqHistoricalData(spx, endDateTime='', durationStr='7200 S', barSizeSetting='1 hour', whatToShow='TRADES', useRTH =False) 变量“spxValue”的以下输出: 不知何故,我没有成功地从该列表中获取元素,也没有通过以下方式将其转换为数据帧: df = util.df(spzValue) 有人对我如何从“BarDat

交互式代理API为此请求提供:

spzValue = ib.reqHistoricalData(spx, endDateTime='', durationStr='7200 S', barSizeSetting='1 hour', whatToShow='TRADES', useRTH =False)
变量“spxValue”的以下输出:

不知何故,我没有成功地从该列表中获取元素,也没有通过以下方式将其转换为数据帧:

df = util.df(spzValue)
有人对我如何从“BarData”列表中选择特定元素有什么建议吗?例如,我希望第一个条的“关闭”值为199.76


提前谢谢。

看起来您正在使用?(不仅仅是本机ibkrpythonapi)

这里有一个在以下位置接收历史数据的示例:

一旦有了数据帧,就可以使用iloc访问第一行,然后使用列名访问值:

df.iloc[0]['close']
from ib_insync import *
# util.startLoop()  # uncomment this line when in a notebook

ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)

contract = Forex('EURUSD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D',
        barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)

# convert to pandas dataframe:
df = util.df(bars)
df.iloc[0]['close']