小编典典

如何删除CSV文件中的列?

python

我已经能够使用该站点上多个用户的输入来使用python创建一个csv,并希望对您的帖子表示感谢。我现在很困惑,将发表我的第一个问题。

我的input.csv看起来像这样:

day,month,year,lat,long
01,04,2001,45.00,120.00
02,04,2003,44.00,118.00

我正在尝试删除“年份”列及其所有条目。从1960年到2010年,总共有40多个条目。


阅读 271

收藏
2020-12-20

共1个答案

小编典典

import csv
with open("source","rb") as source:
    rdr= csv.reader( source )
    with open("result","wb") as result:
        wtr= csv.writer( result )
        for r in rdr:
            wtr.writerow( (r[0], r[1], r[3], r[4]) )

顺便说一句,for循环可以删除,但并没有真正简化。

        in_iter= ( (r[0], r[1], r[3], r[4]) for r in rdr )
        wtr.writerows( in_iter )

同样,您可以以直截了当的方式坚持删除列的要求。我发现这通常是一个不好的策略,因为它不适用于删除多个列。当您尝试删除第二个时,您会发现所有位置都已移动并且结果行并不明显。但是仅适用于一列,这是可行的。

            del r[2]
            wtr.writerow( r )
2020-12-20