Нет ничего проще для такой задачи чем использовать pandas.
Вот сделал игрушечный пример, сначала создаю csv в первой части для демонстрации, потом обновляю любые подсеты данных, при вводе пользователя.
import pandas as pd
# Первая часть создание файла
df = pd.DataFrame({
'Name':['Petr','Maks','Aleksandr'],
'Age':[30,40,50],
'Salary':[500,700,600]
})
df.to_csv('data.csv', index=False)
# Вторая часть обновление
name = input('Введите Имя, чьи данные хотите изменить? ')
fields_to_change = input('Какие данные Вы хотите изменить? например Age, Salary: ').split(',')
data_to_update = {}
for field in fields_to_change:
data_to_update[field] = input(f'Введите {field}: ')
df = pd.read_csv('data.csv').set_index('Name')
df.loc[name, fields_to_change] = data_to_update
df.to_csv('data.csv')
print('Спасибо, данные обновлены')
Вторая часть это непосредственно код который будет обновлять. То есть та часть которая тебя интересует.