Как удалить только одну строку из CSV и сохранить изменения в том же CSV? [Python] - PullRequest
0 голосов
/ 21 марта 2020

Я делаю сценарий входа в систему Python. в этом сценарии, если вы введете неправильный пароль слишком много раз, ваша учетная запись будет заблокирована. Ваше имя пользователя заносится в CSV-файл с именем «lockedaccounts.csv». Когда пользователь вводит свой ключ восстановления, учетная запись разблокируется. Мне нужно, чтобы имя пользователя было удалено из файла lockedaccounts.csv после ввода ключа восстановления.

Вот мой текущий код

                   for k in range(0, len(col0)):
                        if col0[k] == username_recovery and col1[k] == recoverykeyask:
                            messagebox.showinfo('Account Recovery Successful', "Your account has been recovered.")
                            break
                        else:
                            accountscanningdone = False
                    else:
                        accountrecovered = False

Спасибо за ваше время.

1 Ответ

0 голосов
/ 21 марта 2020

Самый простой код будет выглядеть примерно так:

import csv

#when you want to add
with open('lockedaccounts.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(["username2"])

#when you want to delete
rows = []
with open('lockedaccounts.csv', 'r') as csvfile: 
    csvreader = csv.reader(csvfile) 
    for row in csvreader: 
        rows.append(row) 

rows.remove(['username2'])

with open('lockedaccounts.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerows(rows)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...