我正在尝试制作一个程序,更新csv行的0-9范围,这将是ID号。因此,在搜索id号之后,它会提示用户输入替换值,正如您在下面代码的replace部分中看到的那样。因为csv是逗号分隔的,所以我用逗号连接字符串,这样它就可以在条上正确排列了。但问题是。这个错误:IOError: File not open for reading我做了行.readlines()在使用循环之前。顺便说一下,这是密码。在def update_thing():
stud_ID = str(ID_num.get())
stud_name = str(name.get())
stud_course = str(Crs.get())
stud_year = str(Yr.get())
searchID = str(sID_num.get())
filename = str(files.get())
replace = stud_ID +','+ stud_name +','+ stud_course +','+ stud_year
empty = []
with open(filename, 'wb') as file:
Swriter = csv.writer(file, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
file.readlines()
for row in file:
if row[0:9] == searchID:
file.writerow([empty])
file.writerow([replace])
msg = Label(upd_win, text="Updated Successful", font="fixedsys 12 bold").place(x=3,y=120)
if not row[0:9] == searchID:
msg1 = Label(upd_win, text="Update Failed", font="fixedsys 12 bold").place(x=3,y=120)
非常感谢你能提供的任何帮助。在