我想从更新的API数据或使用“for”循环迭代字典创建一个数据帧

2024-09-28 01:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要首先创建一个dict,然后根据以下内容创建一个dataframe

# timeline request (single)
timeline = trading.in_play_service.get_event_timeline(
    event_id=event_ids[0]
)
print(timeline)
for update in timeline.update_detail:
    print(
        update.update_type,
        update.elapsed_added_time,
        update.team_name,
        update.update_id,
        update.elapsed_regular_time,
        update.update_time,
    )  # view resources or debug to see all values available

现在它只打印来自Betfair API的更新数据,我得到以下结果:

EventTimeline
KickOff None None 9 1 2019-12-20 08:42:44.554000
YellowCard None Western United 37 22 2019-12-20 09:04:09.506000
YellowCard None Western Sydney Wanderers 51 30 2019-12-20 09:12:00.604000
YellowCard None Western Sydney Wanderers 65 38 2019-12-20 09:20:44.413000
FirstHalfEnd 2 None 84 45 2019-12-20 09:29:46.558000
SecondHalfKickOff None None 87 46 2019-12-20 09:45:46.177000
YellowCard None Western United 105 61 2019-12-20 10:00:55.977000
Goal None Western Sydney Wanderers 136 79 2019-12-20 10:19:18.448000
Goal None Western United 147 87 2019-12-20 10:27:16.620000
SecondHalfEnd 6 None 163 90 2019-12-20 10:35:56.159000

有什么帮助吗?我是一个新手,在实现交易自动化的过程中,我试图自己解决很多问题。感谢您的帮助,也欢迎合作


Tags: innoneeventidtimeupdatetimelineunited
1条回答
网友
1楼 · 发布于 2024-09-28 01:30:27

您可以创建一个空的DataFrame,如下所示:

dfObj = pd.DataFrame(columns=['Update_time', 'Team_name', etc...])

然后,您可以在dataFrame对象中填充数据:

for update in timeline.update_detail: 
    dfObj = dfObj.append({'Update_time':update.update_type , 'Team_name': update.team 
    , etc.})

执行此操作后,打印dataFrame对象:

print("Dataframe Contens ", dfObj, sep='\n')

现在,您应该看到包含数据的数据帧。请注意,tmy代码在这种形式下不起作用(它有点伪)。此外,在初始化dataFrame对象时,实际上应该在dataFrame中定义列的类型

相关问题 更多 >

    热门问题