将标题添加到CSV而不加载CSV

发布于 2021-01-29 17:27:55

有没有一种方法可以将标题行添加到CSV而不将CSV加载到python中的内存中?我有一个要添加标头的18GB
CSV,我见过的所有方法都需要将CSV加载到内存中,这显然是不可行的。

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    只需使用csv模块在行上进行迭代的事实即可,因此它永远不会将整个文件加载到内存中

    import csv
    
    with open("huge_csv.csv") as fr, open("huge_output.csv","w",newline='') as fw:
        cr = csv.reader(fr)
        cw = csv.writer(fw)
        cw.writerow(["title1","title2","title3"])
        cw.writerows(cr)
    

    使用writerows确保非常好的速度。内存在这里备用。一切都是逐行完成的。由于已正确处理了数据,因此您甚至可以更改输出文件中的分隔符和/或引用。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看