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

标签 python csv

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

文件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 列。

执行此操作的最 pythonic 方法是什么?

编辑:

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

编辑 2:

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

最佳答案

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

更新(添加示例):

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"

关于Python:比较两个 csv 文件中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700441/

相关文章:

python - 使用 python 3 Base64 解码 CSV 文件中的单列

python - 使用字节切片解压缩压缩的 ZLib 字符串

python - 获取时间差不是给定单位的索引

python - 如何使用 Python 通过 API v3 创建 Google 日历事件

vba - Excel 2010 - 将单个 XSLM 导出到多个 CSV 文件

python - Unicode 编码错误 'latin-1' 编解码器无法编码字符 '\u2019'

python - Mandelbrot 序列与 Python 的 Turtle

python - 安装 OS X Mavericks 后使用 mkvirtualenv 时出现问题

python-3.x - 使用 ISO 8601 时间戳和自定义刻度解析多个 *.csv

c# - 计算 CSV 文件中的名称