Addressing AttributeError with except in for loop (Python)



Python新手,下面是我使用的代码:

lst2 = list()
for i in lst1:
try: 
df1 = pd.DataFrame(i.QID1)
except AttributeError:
"null"
df2 = lst2.append(df1)

lst2正在生成我想要的输出,但是I . qid1不存在的实例被来自前一个实例的数据填充,而不是"null"。我敢肯定这是因为'except AttributeError'片,只是不知道如何修复它。就像我说的,我是个新手。

非常感谢你的帮助!

您的缩进是关闭的,并且您没有分配"null">

lst2 = list()
for i in lst1:
try: 
df1 = pd.DataFrame(i.QID1)
except AttributeError:
df1 = "null"
lst2.append(df1)
  • 如果你想让for循环在循环内发生,所有的东西都必须缩进。
  • tryexcept需要在同一水平缩进。
  • df1附加到lst2不会返回任何东西,因此没有必要将其分配给df2

另一种构建此列表的方法是编写一个函数,返回给定i的数据框(或"null"),并将其用于推导式:

def dataframe_or_null(i):
try: 
return pd.DataFrame(i.QID1)
except AttributeError:
return "null"
lst2 = [dataframe_or_null(i) for i in lst1]

相关内容

  • 没有找到相关文章

最新更新