小编典典

Python:比较两个csv文件中的特定列

python

假设我有两个CSV文件(文件1和文件2),其内容如下所示:

文件1:

fred,43,Male,"23,45",blue,"1, bedrock avenue"

文件2:

fred,39,Male,"23,45",blue,"1, bedrock avenue"

我想比较这两个CSV记录以查看列0、2、3、4和5是否相同。我不在乎第1栏。

最Python化的方法是什么?

编辑:

一些示例代码将不胜感激。

编辑2:

请注意,嵌入式逗号需要正确处理。


阅读 216

收藏
2021-01-20

共1个答案

小编典典

我想最好的方法是使用Python库:http :
//docs.python.org/library/csv.html。

UPDATE(添加示例)

import csv
reader1 = csv.reader(open('data1.csv', 'rb'), delimiter=',', quotechar='"'))
row1 = reader1.next()
reader2 = csv.reader(open('data2.csv', 'rb'), delimiter=',', quotechar='"'))
row2 = reader2.next()
if (row1[0] == row2[0]) and (row1[2:] == row2[2:]):
    print "eq"
else:
    print "different"
2021-01-20