无法与熊猫一起"to_csv"保存



我一直试图在代码末尾用"to_csv";但它根本救不了什么。控制台根本不显示任何消息或输出文件。找不到问题的原因。

def registrar():
df = pd.read_csv(r"C:UsersUsuarioDocumentsDavidProgramaciónusuarios_ayp.csv", encoding='cp1252')

decision = input('Bienvenido. Ya eres usuario? (si/no)')

if decision.lower() == 'si' :
usuarionuevo = validar()
if usuarionuevo != '':
return usuarionuevo
else:
opcion = input('Quieres registrarte r o cualuier otra letr para salir')
if opcion.lower == 'r':
registrar()     #llamado recursivo
else:
return ''
else:
usuarionuevo = input('Ingresa un nombre de usuario: ')
contranuevo = input('Ingresa una contraseña: ')

buscar = df['Usuarios']

while True:
if usuarionuevo in buscar.unique():
print('Usuario existente')
usuarionuevo = input('Ingresa un nombre de usuario: ')

else:
dic = {'Usuarios': usuarionuevo, 'Contrasenas': contranuevo}
serie = pd.Series(dic)
df.append(serie, ignore_index = True)
df.to_csv(r"C:UsersUsuarioDocumentsDavidProgramaciónusuarios_ayp.csv",
index = False)
registrar()

您没有收到任何消息,因为您错过了一次休息,并且在上一个else条件下进入了无限循环。这就是为什么您应该始终避免使用while true循环。

此外,您还需要重新分配df,以便将其写入csv文件。

为此更改您的其他内容,应该可以正常工作:

else:
usuarionuevo = input('Ingresa un nombre de usuario: ')
contranuevo = input('Ingresa una contraseña: ')
buscar = df['Usuarios']
while usuarionuevo in buscar.unique():
print('Usuario existente')
usuarionuevo = input('Ingresa un nombre de usuario: ')
else:
dic = {'Usuarios': usuarionuevo, 'Contrasenas': contranuevo}
serie = pd.Series(dic)
df = df.append(serie, ignore_index=True)
df.to_csv(r"usuarios_ayp.csv",
index=False)

最新更新