【发布时间】:2019-10-14 23:14:29
【问题描述】:
我需要使用 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') 并将最后一行“附加”到文件中。是否有类似的选项来添加列?
【问题讨论】:
-
awk或sed可以在这里使用 -
但即使在这种情况下,您也必须读取(和写入)孔文件,不是吗?
-
不,这是不可能的。我建议您使用 pandas 而不是 csv 库来操作您的数据。有点矫枉过正,但更直观。
-
错误的解决方案 - 循环遍历每一行。附加新值。将其写入新文件或同一文件。最好的解决方案是使用
pandas