如何将新的用户输入更新为CSV文件


user_input = ['email','fname','lname','password','gender','cohort','program','ID']
with open('users.csv','w') as inFile:
writer = csv.DictWriter(inFile, fieldnames=user_input)
writer.writerow({'email':email,'fname': fname ,'lname':lname , 'password':password, 'gender':gender, 'cohort':cohort, 'program':program,'ID':ID})

这样做的问题是,每次在网页上输入一个新的用户输入,前一个被丢弃

要在要打开的文件中附加更多数据,应该使用'a'模式打开。在'w'模式下,文件首先被截断。有关更多信息,请参阅open函数文档。

# ...
user_input = ['email','fname','lname','password','gender','cohort','program','ID']
with open('users.csv', 'a') as f:
writer = csv.DictWriter(f, fieldnames=user_input)
writer.writerow({'email':email, 'fname':fname, 'lname':lname, 'password':password, 'gender':gender, 'cohort':cohort, 'program':program, 'ID':ID})