I need a way to change the specific value of a column of a CSV file. For example I have this CSV file:
"Ip","Sites" "127.0.0.1",10 "127.0.0.2",23 "127.0.0.3",50
and I need to change the value 23 to 30 of the row "127.0.0.2".
I use csv library: import csv
When working with a CSV file it is often necessary to find data contained within and sometimes replace it. Find & Replace is used for just this. You can access it from the Edit > Find & Replace menu or by pressing Ctrl-F on the keyboard.
We can modify this CSV file using Pandas by changing some cell values. For that, we need to import a CSV file to a DataFrame first. Then we can change cell values by selecting them either by row/column labels or by index positions.
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 = list(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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With