[英]While true loop in python breaks without waiting for condition to become true
我正在尝试在 python 中运行一个while true
的循环,以检查我想要的单词是否与我拥有的 dataframe 的特定单元格中的单词相同。 我尝试了两种方式。 第一个如下:
while True:
try:
df1 = pd.read_csv(io.StringIO(dfs[4].to_csv(index=False)), skiprows=1, header=[0,1])
c = df1.iat[1,3]
print(c)
if (c == "Margaret"):
df1.to_csv("break.csv", mode='a', header=False)
print("Margaret found")
break
except Exception as e:
print("waiting...")
continue
break
但是当该值不可用时,它不会再试一次,而是无休止地打印“等待...”。
然后我尝试如下:
while True:
try:
df1 = pd.read_csv(io.StringIO(dfs[4].to_csv(index=False)), skiprows=1, header=[0,1])
c = df1.iat[1,3]
print(c)
if (c == "Margaret"):
df1.to_csv("break.csv", mode='a', header=False)
print("Margaret found")
break
except:
if c:
print("waiting...")
c = False
continue
但是在这里,当值不可用时,它不会再次尝试,而是自动跳到代码的下一部分,甚至不打印“等待...”。 请建议我如何修改代码。 我是编码的初学者。 因此,如果以简单的方式解释,将非常感谢。 TIA
有一些事情要做:
最终代码:
try:
df1 = pd.read_csv(io.StringIO(dfs[4].to_csv(index=False)), skiprows=1, header=[0,1])
c = df1.iat[1,3]
print(c)
if (c == "Margaret"):
df1.to_csv("break.csv", mode='a', header=False)
print("Margaret found")
break
except Exception as e:
print("waiting...")
continue
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.