python open与csv.writer将数据追加到csv文件中
有时我们想从另一个 文件数据追加到另一个文件中,特别是执行爬虫程序时,不可能让数据一直积累的保存在内存中,积累的数据量多了会使得程序运行得越来越慢,当爬取的数据量很大、爬取的时间需要很长时,有可能程序中途会出问题突然中断或者电脑突然关机等等情况,那我们所爬取的数据也没能保存,这岂不是大量的工作都白费了,所以应该是将我们所获取的每条数据不断地追加到文件中。
那么可以使用open()函数与csv库的writer()进行实现,open()函数的mode 参数设为mode = “a+”,就可以实现数据追加到csv文件中,下面举个例子。(open函数详情教程)
import csv
# 将数据转为数组形式,数据追加到文件中
data = [['老邓', '女', 20], ['老马', '男', 21], ['老李', '男', 30]]
with open('csvFile.csv', "a+", newline='', encoding='utf_8_sig') as fp:
writer = csv.writer(fp, dialect='excel')
writer.writerow(['名字', '性别', '年龄']) # 先写入表头
for row in data: # 遍历数组进行写入文件
writer.writerow(row)
print('数据完成写入文件...')
这段程序写入文件的时候一定要注意编码,不然中文会出现乱码,关于编码的问题我也是不太明白,网上找了很多解决方法,最后open()中参数encoding=“utf_8_sig”就可以正常显示了(不太理解…)。
爬虫追加数据时出现乱码的csv文件(当时的内心是崩溃的…)
这是我爬虫程序把数据追加到csv文件的代码,可以参考一下。
本文就到此结束了,谢谢观看!