我想将数据输入CSV文件,到目前为止已经完成了。我现在遇到的唯一问题是,当用户输入不正确的信息到仅输入字符串(例如,name = b12f)时,程序成功提示用户再次输入字符串(例如,name = biff)。
但是,当我查看CSV文件时,会记录错误的值而不是更正的输入。我该如何纠正?
import csv
surname = input('\nSurname:')
surname_checker(surname) #I wrote a seperate function that correctly checks the input to judge if it is correct and reprompt if not
s = surname.capitalize()
with open('Try.csv','a',newline='') as csvfile:
appendCSV = csv.writer(csvfile)
appendCSV.writerow([s])
csvfile.close()
如果输入了b12f,则输出Biff正确输入:
Surname:b12f
Please define Surname only in letters
Surname:biff
>>> print(surname)
b12f
答案 0 :(得分:0)
这不是特定于CSV的。您使用print(surname)
应该是一个标志 - 它没有对CSV文件做任何事情,但它仍然打印错误的东西。
您的自定义函数需要返回更正的姓氏,您需要用它替换存储的姓氏。
像surname = surname_checker(surname)