Python输出数据到CSV,如何跳过原CSV文件中已存在的数据、只输出CSV中未存在的?

将爬取到的数据添加到CSV中,但CSV中原来已有的数据就不用添加了,只需添加CSV中未有的,请问如何实现?
输出到CSV时有个参数设为'ab+'的参数,不知道这个参数有没有类似功能?

阅读 6k
4 个回答

追加的话设置mode="a+",排重的话你可以在追加输出为csv之前把原数据过滤下就好了。

新手上路,请多包涵

如果数据量不是特别大,可以尝试将原CSV中的数据临时存放在一个dict中,在追加写入之前,预先检查dict,然后再写入

mode=a的打开方式是在文件末尾追加内容,并没有过滤的功能。你要过滤只能自己写程序进行过滤。
比如每次写入爬来的信息时,现将信息md5作为信息索引,然后比对信息索引表,不在索引表内的保存到文件,并更新索引表。信息索引表可以是数据库或内存等存储介质。

可以先将原来的数据读出来,用一个set存储,然后将现在要存的数据也用set保存,然后求set的并集。语法为a | b

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进