使用python从csv文件中删除特定列

时间:2019-11-28 13:24:54

标签: python python-3.x csv

我有一个功能,可以选择要使用的列的索引(自动,基于列标题中的文本),结果是一个列表,类似于以下示例中的列表:

>>>print(usable_data_index)
[0, 2, 5, 7] #It may be like this
[0, 3, 4, 5, 6, 10] #Or like this one
[1, 2] #Or this
#It may vary.

然后我只想将包含索引的列写入 usable_data_index 中(这是我不知道的方法)。 我知道我可以这样写特定的列:

for row in csv_reader:
            csv_writer.writerow((row[0], row[1], row[3], row[4]))

但是在那种情况下,我必须手动指定索引。 希望你理解这个问题。

1 个答案:

答案 0 :(得分:2)

在您的for循环内,添加一个名为rows_to_add的元组,并将其传递给csv writer:

rows_to_add=(row[index] for index in usable_data_index)
csv_writer.writerow(rows_to_add)