Reputation: 26822
So I have a CSV file with a bunch on IP's in it:
192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6,192.168.0.7,192.168.0.8,192.168.0.9,192.168.0.10
And I would like to add a new ip to the end of this csv file. Currently I am using this code to read in the data:
requests = csv.reader(open("file.csv", "rb"))
for request in requests:
for ip in request:
print "In List: " + str(ip)
This will print:
In List: 192.168.0.1
In List: 192.168.0.2
In List: 192.168.0.3
In List: 192.168.0.4
In List: 192.168.0.5
...
And then to write one to the end I've tried many methods, including this:
requestWriter = csv.writer(open("file.csv", "w"))
requestWriter.writerow(["192.168.0.X"])
This however replaces the whole file with the new entry. I then tried to loop through existing records and add them to the new file but this split the IP's up by their .'s! Am I missing something here? Surely there is an amend option for the csv reader/writer?
Thanks
Upvotes: 1
Views: 1004
Reputation: 74134
Why don't you just append a new row?
fd = open('file.csv','a')
fd.write(yourCsvRowWithNewIP)
fd.close()
Upvotes: 9