def datafirstrow():
with open("data.csv", "w") as obj:
fileobj = csv.writer(obj)
fileobj.writerow(["Username", "Password", "First Name","Last Name","UserID","UPI ID","Bank Details","Mobile Info"])
datafirstrow()
Above are the columns of my csv file.
def newUser(userid):
with open("data.csv", "a") as obj:
fileobj = csv.writer(obj)
while(True):
username = check(input("Enter username: "))
password = input("Enter password: ")
pwd = (hashlib.sha256(password.encode('utf-8')).hexdigest())
First = input("Enter First Name: ")
Last = input("Enter Last Name: ")
Upi = input("Enter UPI ID: ")
print("Enter Bank Details: \n")
bankDetails = ""
BankNumber = str(input("Please enter Account Number \n"))
bankDetails += ('Bank Account Number: {}\n'.format(BankNumber))
BankName = str(input("Enter the Bank Name: \n"))
bankDetails += ('Bank Name: {}\n'.format(BankName))
BankHolderName = str(input("Enter Account Holder Name \n"))
bankDetails += ('Account Holder Name: {}\n'.format(BankHolderName))
IFSC = str(input("Enter IFSC Code"))
bankDetails += ('Branch IFSC Code: {}\n'.format(IFSC))
mobile = input("Enter your Contact Number: ")
record = [username, pwd,First,Last,userid,Upi,bankDetails,mobile]
fileobj.writerow(record)
break
obj.close()
Above is the function I am using to add new data to the table
def check(username):
with open("data.csv", "r") as obj:
fileobj2 = csv.reader(obj)
for i in fileobj2:
next(fileobj2)
if i[0] == username:
print("Username is taken \n Please input a unique username \n")
username = input("Enter Username: ")
checkusername(username)
elif i[0] != username:
break
obj.close()
return username
check(input("enter username"))
This function checks if the username is taken or not But it checks the username once and then if I enter the same username again it returns me the same username
What I want is it to check the username everytime