Код снова добавляет строку, а не удаляет ее из файла - Python - PullRequest
0 голосов
/ 22 марта 2019

Независимо от того, что я делаю с этим кодом, он всегда будет дублировать строку в файле, а не удалять его из файла.Я планировал выделить ту часть кода, которую хочу удалить.Затем перепишите файл, используя все данные, отличные от тех, которые были выбраны в переменной 'part'.

Ниже моя функция добавления, чтобы показать, как она добавляется в CSV-файл, и функция удаления, которая не работает.

def add_employee(): #THIS WORKS
    EmployeeID = int(input("Please enter the employee ID here "))
    EmployeeName = input("Please enter the name here ")
    EmployeeDep = input("Please enter the department here ")
    EmployeeDes = input("Please enter the designation here ")
    EmployeeStartDate = input("Please enter the start date here in format of DD-MM-YYYY ")
    EmployeeStatus = input("Please enter the status here : Active/Deactive ")

    with open('database.csv', "a") as f:
        employee_add = ""
        employee_add += "%s," % EmployeeID
        employee_add += "%s," % EmployeeName
        employee_add += "%s," % EmployeeDep
        employee_add += "%s," % EmployeeDes
        employee_add += "%s," % EmployeeStartDate
        employee_add += "%s," % EmployeeStatus
        employee_add += "\n"
        f.write(employee_add)
        f.close()
        print("Added correctly")
        continue_or_quit()


def remove_employee():
    id_to_delete = input("Enter the ID of the employee you would like to delete\n")

    with open('database.csv', "r+") as f:
        for line in f:
            for part in line.split():
                if id_to_delete in part:
                    print("nice")
                    for part in line.split():
                        if part != id_to_delete +"\n":
                            f.write(part)

Я смотрел на , используя Python для удаления конкретной строки в файле , однако, похоже, код не работал для моей ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...