You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python for循环中用except捕获AttributeError时赋值异常问题求助

问题根因
  • 你的except代码块仅写了"null"字符串字面量,没有将该值赋值给df1变量。当i.QID1不存在触发异常时,df1会保留上一轮循环的旧值,最终导致重复追加历史数据到lst2。
  • 额外注意:list.append()是原地修改方法,返回值为None,原代码中df2 = lst2.append(df1)的赋值操作无实际作用,df2最终只会是None。
修正后可运行代码
import pandas as pd # 若代码开头已导入pandas可省略该行

lst2 = list()
for i in lst1:
    try: 
        df1 = pd.DataFrame(i.QID1)
    except AttributeError:
        df1 = "null" # 异常场景下显式给df1赋值
    lst2.append(df1) # append为原地操作,不需要赋值给新变量
可选调整说明

如果你的业务逻辑需要填充空DataFrame而非字符串"null",可以把except块内的df1 = "null"替换为df1 = pd.DataFrame()即可。

内容的提问来源于stack exchange,提问作者littletimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:51:03