Как удалить определенную строку из csv-файла на основе пользовательского ввода?
Я выполняю школьное задание и создал функцию удаления, чтобы удалить строку из csv-файла.
Но он не соответствует моему пользовательскому вводу и удаляет конкретную строку. Он просто очищает файл, как только я ввожу идентификатор. Я не уверен, что это правильный способ сделать это, надеюсь, что смогу найти здесь какую-то помощь.
Это функция, которую я создал.
def d_avatar(): filePath = "data.csv" with open(filePath) as csvfile: reader = csv.DictReader(csvfile) filePath = "sample_write_data.csv" with open(filePath,'w',newline='') as csvfile: fieldnames = ['name','tribe','id','Air','Water','Earth','Fire'] writer = csv.DictWriter(csvfile,fieldnames=fieldnames) print("Delete an avatar") deletion = input("Enter avatar id to delete: ") for row in reader: if deletion != row['id']: print("avatar ID is not found") deletion = input("Enter avatar id to delete: ") else: if deletion == row['id' ]: writer.writerow(row) ; print("Avatar Record Deleted")
Что я уже пробовал:
Я пытался использовать различные способы удаления данных с помощью del и writerow, но все это дает мне один и тот же результат очистки файла.