我正在开发一个更新/更改CSV文件夹中元素的程序。它首先逐个列表读取CSV文件列表,并检查序列号是否与用户给定的序列号匹配。如果它这样做了,那么它会要求用户更改下一个元素
但在我的程序中,即使条件满足,第一个IF循环也没有运行。我尝试输入的序列号出现在列表中,但仍然无法执行。请调查这个问题
这是我的密码
def update():
f=open("daily.csv",'r')
r=csv.reader(f)
sno=int(input("WHICH RECORD DO YOU WANT TO UPDATE? (ENTER THE SERIAL NO.)"))
next(r)
for i in r:
if i[0]==sno:
ch=int(input("1.CHANGE CATEGORY (PRESS 1)2.CHANGE AMOUNT (PRESS 2)3.CHANGE DATE (PRESS 3)"))
if ch==1:
nc=input("PLEASE ENTER NEW CATEGORY")
i[1]=nc
print(i)
elif ch==2:
na=int(input("PLEASE ENTER THE NEW AMOUNT"))
i[2]=na
print(i)
elif ch==3:
nd=int(input("PLEASE ENTER THE NEW DATE"))
i[3]=nd
print(i)
else:
print("INVALID SERIAL NO")
f.close()
我认为问题在于文件中的值被读取为字符串。尝试先将s[0]转换为int,然后进行比较。另外,如果您使用的是像pycharm这样的IDE,那么使用内置调试器查看这些值以及它们失败的原因。 问题还可能出在您试图访问的“s”索引上。如果没有调试器,请尝试打印值和值的类型,因为这可能有助于调试过程
相关问题 更多 >
编程相关推荐