2016-05-02 6 views
0

私はCSVファイルにデータを入力し、これまでのところそれを達成したいと思います。私が今遭遇した唯一の問題は、ユーザが文字列のみの入力(例えば、名前= b12f)に間違った情報を入力すると、プログラムはユーザに再び文字列(例えば、名前= biff)を入力するよう促すということである。私のプログラムが間違った入力をCSVファイルに書き込まないようにするにはどうすればよいですか?

しかし、CSVファイルを見ると、訂正された入力の代わりに誤った値が記録されていました。これを修正するにはどうすればよいですか? B12Fが入力された場合

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() 

転帰は、ビフが正しく入力:

Surname:b12f 

Please define Surname only in letters 

Surname:biff 
>>> print(surname) 
b12f 

答えて

0

これは、CSVの特定ではありません。 print(surname)の使用はサインでなければなりません.CSVファイルでは何もしませんが、それでも間違ったことを印刷しています。

あなたのカスタム関数は修正された姓を返さなければなりません。また、保存された姓をその姓に置き換える必要があります。

と同様のものsurname = surname_checker(surname)

関連する問題