如何用For循环将DataFrame数据存入字典?仅获最后一行问题排查
问题原因与解决方法
问题所在
你写的循环里,每次迭代都会把dados重新赋值为仅包含当前行字典的列表,之前循环生成的内容会被完全覆盖,因此最终只保留了最后一行的数据。
解决方法
方法一:修正循环逻辑
先初始化一个空列表,每次循环将当前行的字典追加到列表中,而不是重新赋值:
dados = [] for i, j in tabela_proje.iterrows(): dados.append(j.to_dict())
方法二:使用Pandas内置高效方法
Pandas提供了直接将DataFrame转为字典列表的方法,比手动循环更简洁高效(尤其适合大数据量场景):
dados = tabela_proje.to_dict('records')
预期结果
执行上述任一方法后,dados会包含所有行的字典数据:
[ {'NOME': 'PRO-NO-FEN', 'DESCRIÇÃO': 'FENDI'}, {'NOME': 'FORMAÇÃO', 'DESCRIÇÃO': nan}, {'NOME': 'PRO-NO-170', 'DESCRIÇÃO': nan}, {'NOME': 'PRO-NVS-SCY', 'DESCRIÇÃO': 'STADE CHARLETY'} ]
内容的提问来源于stack exchange,提问作者Shadow
相关产品推荐
相关产品推荐

