在Python中修改csv文件

1 投票
1 回答
974 浏览
提问于 2025-04-16 06:37

我有一个CSV文件,里面有很多IP地址:

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

我想在这个CSV文件的末尾添加一个新的IP地址。目前我使用的代码是用来读取数据的:

requests = csv.reader(open("file.csv", "rb"))
for request in requests:
    for ip in request:
        print "In List: " + str(ip)

这段代码会输出:

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
...

然后我尝试了很多方法来把新的IP地址写到文件的末尾,包括这个:

requestWriter = csv.writer(open("file.csv", "w"))
requestWriter.writerow(["192.168.0.X"])

但是这样做会把整个文件替换成新的内容。我还尝试过循环现有的记录,把它们加到新文件里,但这样会把IP地址的每一部分都分开!我是不是漏掉了什么?难道CSV的读写工具没有添加内容的选项吗?

谢谢

1 个回答

9

你为什么不直接添加一行新的数据呢?

fd = open('file.csv','a')
fd.write(yourCsvRowWithNewIP)
fd.close()

撰写回答