如何防止程序将错误输入写入CSV文件?

时间:2016-05-02 20:23:11

标签: python-3.5

我想将数据输入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

1 个答案:

答案 0 :(得分:0)

这不是特定于CSV的。您使用print(surname)应该是一个标志 - 它没有对CSV文件做任何事情,但它仍然打印错误的东西。

您的自定义函数需要返回更正的姓氏,您需要用它替换存储的姓氏。

surname = surname_checker(surname)

这样的东西