使用pandas制作python登录表单
我想用python创建一个登录表单。使用pandas制作python登录表单,python,pandas,csv,Python,Pandas,Csv,我想用python创建一个登录表单。 我不知道如何修理它 有人能帮我修改错误脚本吗 main.py import requests, os, random, time import pandas as pd def login(): userData = pd.read_csv('Data.csv') df = pd.DataFrame(userData) username = df['username'] password = df['password'] print(
我不知道如何修理它
有人能帮我修改错误脚本吗 main.py
import requests, os, random, time
import pandas as pd
def login():
userData = pd.read_csv('Data.csv')
df = pd.DataFrame(userData)
username = df['username']
password = df['password']
print('Login Tools\n')
user = input('Username : ')
pasw = input('Password : ')
if usr == username and psw == password:
print('success')
else:
print('\nYour account is not registered yet!')
print('please contact admin')
login()
Data.csv
username,password
admin,admin
user,12345
rann,rann123
stackoverflow,stackoverflow123
错误输出
Traceback (most recent call last):
File "main.py", line 23, in <module>
login()
File "main.py", line 18, in login
if user == username and pasw == password:
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/pandas/core/generic.py", line 1329, in __nonzero__
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
回溯(最近一次呼叫最后一次):
文件“main.py”,第23行,在
登录()
登录中第18行的文件“main.py”
如果user==用户名,pasw==密码:
文件“/opt/virtualenvs/python3/lib/python3.8/site packages/pandas/core/generic.py”,第1329行,在非零位__
升值误差(
ValueError:序列的真值不明确。请使用a.empty、a.bool()、a.item()、a.any()或a.all()。
用户名
和密码是pd.Series
,因此无法执行此操作,您需要检查各列中是否有相应的输入
此外,在您的方法中,任何现有用户名和任何现有密码都有效-这不是您想要的
这里有一个替代方案:
def login():
userData = pd.read_csv('Data.csv')
df = pd.DataFrame(userData)
print('Login Tools\n')
user = input('Username : ')
pasw = input('Password : ')
matching_creds = (len(df[(df.username == user) & (df.password == pasw)]) > 0)
if matching_creds:
print('success')
else:
print('\nYour account is not registered yet!')
print('please contact admin')