For an Address Book project, I need to find a specific line in a CSV file via input() IE if a user inputs “Toast” it will find the line with Toast on it, then replace a row on that line such as “Jam” with another input from the user.
Is there a way to do this?
Example:
Bread,Condiment1,Condiment2
Toast,Butter,Jam, 
 #Finds Toast
    input = Toast
 #Replaces Jam with Nutella
    input = Nutella
Should then turn into
Bread,Condiment1,Condiment2 Toast,Butter,Nutella
Advertisement
Answer
I assume you always want to replace the third element of the lines. So I wrote this accordingly
with open('example.csv', 'r+', encoding='utf-8') as f:
    aa = f.readlines()
    x = input()
    for k,i in enumerate(aa):
        if i.startswith(x):
            y = input()
            words=i.split(',')
            words[2] = y
            aa[k] =','.join(words)
    f.seek(0)
    f.write(''.join(aa))
    f.truncate()
