【问题标题】:How do I prevent my program from writing incorrect input to a CSV file?如何防止我的程序将错误的输入写入 CSV 文件?
【发布时间】:2016-05-03 04:28:47
【问题描述】:

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

【问题讨论】:

    标签: python-3.5


    【解决方案1】:

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

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

    类似surname = surname_checker(surname)

    【讨论】:

      猜你喜欢
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-13
      • 2011-06-16
      • 1970-01-01
      • 2013-06-25
      相关资源
      最近更新 更多