我需要使用Python将列添加到csv文件中。我能想到的唯一方法是读取整个文件,编辑每一行以添加1个元素,然后再次写入文件。但是,由于文件的大小,我真的不想这样做(超过32000行,每次我想添加一列时,似乎都进行了大量的读写操作)。即使使用csv模块,我也认为原理是相同的,阅读所有内容,然后再次编辑和编写。
要清楚,下面是一个csv文件示例。
1,2
1,2
1,2
1,2
我想添加第三列,以便文件变为:
1,2,3
1,2,3
1,2,3
1,2,3
如果我想添加整行(或一行),则可以使用open(csvfile, 'a')
并将最后一行“追加”到文件中。有添加列的类似选项吗?
答案 0 :(得分:0)
不幸的是,这是不可能的。文本文件是序列文件,如果要在它们之间添加一些内容,则必须转移所有剩余的内容(因此必须读写)。
答案 1 :(得分:0)
对于原始的csv文件,请说foo.csv
1,2
1,2
1,2
1,2
只需创建另一个文件以保存要添加的列,例如bar.csv
3
3
3
3
然后,可以使用os.system
作为
paste
命令。
import os
os.system("paste foo.csv bar.csv -d ',' > output.csv")
结果为output.csv
为
1,2,3
1,2,3
1,2,3
1,2,3