Python``while``循环,用于比较不能正常工作的字符串

2024-09-29 23:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在名为df1的数据帧中获取[1,3]处的值,并将其与另一个字符串进行比较;如果两个值相同,则将数据帧写入csv文件。df1.iat[1,3]的原始值,即var c为“Alayamon”。但它仍然将数据帧写入csv,即使我故意将字符串更改为“Alayaon”以检查它是否工作。如果值不相同,我希望代码打印“waiting…”,并继续尝试读取数据帧,直到达到df1.iat[1,3]处具有正确值的数据帧。关于如何更改代码,使其仅在两个变量完全相似时编写数据帧,有什么建议吗

df1 = pd.read_csv(io.StringIO(dfs[4].to_csv(index=False)), skiprows=1, header=[0,1])
c = df1.iat[1,3]
        print(c)
       
        c == "Alayaon"
        while True:
            try:
                df1.to_csv("break.csv", index=False)
                break
            except:
                if x:
                    print("waiting...")
                    x = False```

Tags: 文件csvto数据字符串代码falseindex
1条回答
网友
1楼 · 发布于 2024-09-29 23:21:36

c == "Alayaon"是比较而不是分配,它应该是c = "Alayaon"

此外,您从不检查循环中的任何内容。按原样,循环将始终执行df1.to_csv("break.csv", index=False),除非它失败,然后中断循环

您需要将其更改为

if(c == "Alayaon"):
    df1.to_csv("break.csv", index=False)
    break
else:
    print("waiting...")
if x:
    print("waiting...")
    x = False

由于没有声明x,因此不会触发上述操作,并且应该会遇到错误

相关问题 更多 >

    热门问题