Change specific value in CSV file via Python
Question: I need the way to change specific value of the column of csv file. For example
I have csv file:

    
    
    "Ip","Sites"
    "127.0.0.1",10
    "127.0.0.2",23
    "127.0.0.3",50
    

and I need to change value 23 to 30 of the "127.0.0.2".

I use csv library: import csv

Appreciate any help as I'm new in Python. Thanks!


Answer: This is the solution opening the csv file, changing the values in memory and
then writing back the changes to disk.

    
    
    r = csv.reader(open('/tmp/test.csv')) # Here your csv file
    lines = [l for l in r]
    

Content of lines:

    
    
    [['Ip', 'Sites'],
     ['127.0.0.1', '10'],
     ['127.0.0.2', '23'],
     ['127.0.0.3', '50']]
    

Modifying the values:

    
    
    lines[2][1] = '30'
    

Content of lines:

    
    
    [['Ip', 'Sites'],
     ['127.0.0.1', '10'],
     ['127.0.0.2', '30'],
     ['127.0.0.3', '50']]
    

Now we only have to write it back to a file

    
    
    writer = csv.writer(open('/tmp/output.csv', 'w'))
    writer.writerows(lines)
    

