Python 将行添加到循环末尾的数据帧中

Python 将行添加到循环末尾的数据帧中,python,pandas,dataframe,append,Python,Pandas,Dataframe,Append,我试图在数据帧中添加行作为循环的一部分 该程序通过URL循环并以数据帧格式提取数据 for id in game_ids: df_team_final = [] df_player_final = [] url = 'https://www.fibalivestats.com/data/' + id + '/data.json' content = requests.get(url) data = json.loads(content.content)

我试图在数据帧中添加行作为循环的一部分

该程序通过URL循环并以数据帧格式提取数据

for id in game_ids:
    df_team_final = []
    df_player_final = []
    url = 'https://www.fibalivestats.com/data/' + id + '/data.json'
    content = requests.get(url)
    data = json.loads(content.content)
在循环结束时,我使用concat合并了客场/主队的两个df(和球员)

在循环之外,我已编程保存为Excel

# #if cant find it, create new spread sheet
writer = pd.ExcelWriter('Box Data.xlsx', engine='openpyxl')
team_full.to_excel(writer, sheet_name='Team Stats', index=False)
player_full.to_excel(writer, sheet_name='Player Stats', index=False)
writer.save()
writer.close()
当我在许多网页中循环时,我需要在运行时更新df,显然在当前格式中,我只是用第二个循环覆盖第一个url

在循环结束时向数据帧追加或添加数据帧的最佳方式是什么


谢谢

我在这里只能给出一个简单的大纲,因为我们没有看到完整的代码

我假设您没有将刮取的数据附加到某种容器中,因此在下一次迭代后它会丢失

#循环外存储数据的空列表
df_团队_决赛=[]
df_球员_决赛=[]
对于游戏\u id中的id:
url='1〕https://www.fibalivestats.com/data/“+id+”/data.json”
content=requests.get(url)
data=json.load(content.content)
#创建所需的数据帧
#东风主队、东风客队等
#并将数据附加到容器
全队=pd.concat([df\U主队,df\U客队])
player\u full=pd.concat([df\u home\u player\u merge,df\u away\u player\u merge])
df_团队_最终。追加(团队_全部)
df_player_final.追加(player_full)

现在,您已经将数据帧存储为列表,可以将它们与
pandas.concat

#循环之外
全队=pd.concat(df\U全队\U决赛)
球员满=pd.concat(df球员决赛)
并立即保存:

writer = pd.ExcelWriter('Box Data.xlsx', engine='openpyxl')
team_full.to_excel(writer, sheet_name='Team Stats', index=False)
player_full.to_excel(writer, sheet_name='Player Stats', index=False)
writer.save()
writer.close()

编辑 从您共享的文件中,我看到您在循环中添加了容器:

但您应该在循环开始之前放置它们:

# initialize them here
df_team_final = []
df_player_final = []
for id in game_ids:

你能先收集所有数据,然后立即将其写入excel吗?定义一个完整的df,并在每个循环结束时将每个玩家的full添加到该df中如何?终于将完整的df写入excel了。@politicalscientist,这是我的目标,但目前它只是覆盖了上一个循环,因为它还没有解决如何将行添加到数据框中。@AliKhatami我想在这一点上保持球员和球队统计数据的分离。目前在循环结束时,我有两个单独的数据帧(团队=客场团队和全队;球员=主客场球员),但如上所述,当下一个循环发生时,它会被覆盖,因为我认为我刚刚丢失了上一个df。所以需要一个离开它将保存到df和添加新行,因为我仍然只显示最后一个数据帧。我已经独立地检查了循环,如果我在循环中添加一个简单的print语句,它将从两个URL打印dfs,因此认为代码必须是正确的,并且我尝试附加的方式与fo有关?这是我的全部代码:非常感谢!现在完全有道理了,不会再犯那种错误了!感谢您抽出时间再次查看代码
# initialize them here
df_team_final = []
df_player_final = []
for id in game_ids: