Я хочу удалить строки из словаря CSV. Мой текущий подход состоит в том, чтобы поместить все данные из CSV во временный список, из которого я .remove () ненужную строку, а затем переписываю весь CSV ...

0
Slash 6 Янв 2021 в 01:47

1 ответ

Лучший ответ

Допустим, файл csv содержит следующие данные:

Michal, Brave, 55
Mary, Jane, 21
John, Smith, 34

С помощью этого кода мы можем выполнить то, что вам нужно:

# read the file and separate name, surname and age
with open('customers.csv', 'r') as file:
    lines = [line.strip() for line in file.readlines()]
    for line in lines:
        person_data = line.split(',')
        name = person_data[0].title()
        surname = person_data[1].title()
        age = person_data[2]

        print(f'{name}{surname} is {age}.')

    # recreate the list of rows where the name provided by the user is not included
    prompt_user = input("Enter name for deletion: ")
    lines = [line + '\n' for line in lines if prompt_user not in line]
    
    # write the changes to the file
    with open('customers.csv', 'w') as file_write:
        file_write.writelines(lines)
0
Klein -_0 5 Янв 2021 в 23:40