在Python中操作CSV文件

时间:2015-11-17 09:25:17

标签: python file parsing csv

import csv

reader=csv.reader(open('Names_Duplicates.csv', 'r'),delimiter=',')
writer=csv.writer(open('Names_NoDuplicates.csv', 'w'),delimiter=',')

Names=set()
for row in reader:
    if row[0] not in Names:
        writer.writerow(row)
        Names.add(row[0])

我使用此代码使用Python 2.7(Windows)从CSV文件中删除重复项。我能够一次删除基于一列的重复项。无论如何我可以同时删除多个coloumn的副本吗?

感谢任何帮助。

P.S - Pandas库在我的系统中无效。

1 个答案:

答案 0 :(得分:2)

使用多个项目的元组作为密钥。

import operator
 ...
fieldmatches = set()
fieldspec = operator.itemgetter(0, 2, 3) # for example
for row in reader:
  if fieldspec(row) not in fieldmatches:
    writer.writerow(row)
    fieldmatches.add(fieldspec(row))