【发布时间】:2016-06-09 10:37:25
【问题描述】:
我有一个代码块,它适用于我的 Dataframe 中的每个 ID,它应该执行“TRY”块代码,对于错误,转到异常,我的数据将被更改,并且在执行除代码后,它应该再次回到for循环,但似乎for循环下的Dataframe没有根据except代码块得到更新
for ID in data:
try:
user= api.get_user(ID)
engine.execute("insert into sometable values(?,?,?,?,?,?,?,?,?)", str(ID), user.screen_name, user.description)
except:
data=pd.read_sql('sqltable',engine)
请帮忙
Giving 和另一个似乎是 for 循环约束的例子
list=[1,2,3]
for x in list:
print list
if x==3:
list=[3,8,9,100,500,600,700]
print list
尽管更新了列表,但列表中的 x 将保持不变,即之前的 3
【问题讨论】:
-
这是您的代码的实际缩进还是您抄写得很糟糕?
-
您需要在执行更改数据库的 SQL 语句后commit。
dbconn.commit()或类似的。 -
感谢您引起我的注意,我对这个问题本身感到不知所措
-
@Evert SQLpart 工作正常,我更关心 for 循环更新
-
你同时改变了
datawhile 的值。不要那样做!如果您完全更改data,请重新启动循环。
标签: python loops for-loop try-except