[英]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.