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

2023-11-23

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

file1:

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

file2:

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

我想比较这两个 CSV 记录,看看第 0、2、3、4 和 5 列是否相同。我不关心第一栏。

这样做最Pythonic的方法是什么?

EDIT:

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

EDIT2:

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


我认为最好的方法是使用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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 完美转发 - 这是怎么回事? [复制]

    这个问题在这里已经有答案了 可能的重复 使用前向的优点 有人可以向我解释一下什么是完美转发吗 http www justsoftwaresolutions co uk cplusplus rvalue references and perf
  • SQLite 使用 sqlite-net 加入 Windows 8 Metro C#

    我正在使用 C 和 SQLite 作为 Windows 8 Metro App 的数据库 我想使用 Join Command 但不知道如何读取给定的回数据 这是行不通的 db Query
  • CodeMirror 有内容,但只有按下按键才会显示

    我有一个 CodeMirror 实例嵌入在我正在构建的 web 应用程序中 它工作得很好 除了在用户输入新字符之前不会显示初始内容 因此 一切都在那里 只是隐藏起来 直到用户强制更改为止 这不好 有什么方法可以强制重新绘制或刷新浏览器来模拟
  • 搜索栏取消按钮有时在 ios 7 中不起作用

    当搜索栏最初隐藏时 搜索栏中的取消按钮在 iOS 7 中不起作用 我按照本教程在表格视图中创建搜索栏 raywenderlich 教程 本教程中有一个示例项目 使用该项目比我的解释更好 在 iOS 5 和 6 中工作正常 我已经审查了所有代
  • 提取具有属性的相关矩阵的一个三角形

    我有一个相等行和列的数据框 矩阵 我只想提取上三角形或下三角形 x lt data frame matrix 1 25 nrow 5 colnames x lt LETTERS 1 5 rownames x lt LETTERS 1 5 x
  • 如何在 WPF 中禁用 ListView 标题的移动/重新排序?

    WPF ListView 控件允许通过拖放对列重新排序 有什么办法可以禁用它吗 我希望一些 WPF 大师可以帮助我
  • 如何在 Node.js 中检查 ASP.NET 密码哈希

    首先我读了这个使用 SHA256 和 NET Node js 对密码进行哈希处理这对我没有帮助 我必须验证在 Node js 环境中的 ASP NET 中创建的密码哈希值 有人告诉我密码是使用以下算法生成的 ASP NET 成员资格使用的默
  • 检测到 globalKeyboardHook 中的 CallbackOnCollectedDelegate

    我正在使用全局键盘挂钩类 此类允许检查是否在任何地方按下了键盘按键 一段时间后我遇到了一个错误 CallbackOnCollectedDelegate was detected A callback was made on a garbag
  • 使用 else 子句终止 if ... else if 构造有什么好处?

    我们的组织有一个required编码规则 没有任何解释 if else if 构造应以 else 子句终止 示例1 if x lt 0 x 0 else not needed 示例2 if x lt 0 x 0 else if y lt 0
  • Bootstrap:具有绝对定位的容器?

    我有以下标记 div class banner wrapper div class banner image style background image url div div class container div class row
  • 如何终止与 SQL Server 2005 数据库的所有当前连接?

    我想重命名数据库 但不断收到数据库 无法获取独占锁 的错误 这意味着某些连接仍然处于活动状态 如何终止与数据库的所有连接以便重命名它 该方法的原因是亚当建议不起作用的是 在您循环活动连接的过程中 可以建立新的连接 并且您会错过这些连接 您可
  • 跨 C API 边界传递异常

    我正在用 C 编写一个库 它使用旧的 C API 我的库的客户端可以指定回调函数 这些函数是通过我的库间接调用的 而我的库是通过C API调用的 这意味着必须处理客户端回调中的所有异常 我的问题是 如何捕获边界一侧的异常 并在重新跨越 C
  • Azure Powershell - 检查资源是否存在

    我正在使用 Powershell 自动设置我的 Azure 环境 创建存储帐户 数据库 网站等 在开发过程中 我想要提供和拆除很多东西 很多时候 我想运行我的配置脚本并创建一个天蓝色资产如果它还不存在 但是 我还没有找到一种优雅的方法来做到
  • android studio gradle版本增量

    我正在尝试在 gradle android studio 中设置一个不错的小版本控制脚本 其中版本名称在每次构建时都会增加 而版本代码仅在我进行发布构建时才会增加 这可能吗 我认为可以解决这个问题的是检查下面的 if 语句是否是一个版本 但
  • Jersey 序列化/反序列化问题:抽象类型只能使用附加类型信息进行实例化

    我使用 jersey 进行序列化和反序列化 我已经使用 jersey 在 WebLogic 上创建了 REST 通道 我有包含抽象类的结果对象 Jersey 将此类的实现名称添加到结果元数据中 order type installation
  • 用代数方法简化平方根

    我想以代数方式简化整数的平方根 而不是以数字方式计算它 即 800应该20 2 not 28 2842712474619 我找不到任何方法通过编程来解决这个问题 对根下的数字进行因式分解 选出成对出现的因式 将其余的留在根下 800 2 x
  • 隐藏 TreeView 项目

    我一直在尝试隐藏 TreeView 中的项目 我使用自定义数据类型作为源 称为 SettingsMenuItem 它继承自 FrameworkElement 当前为 FrameworkContentElement 因为否则 TreeView
  • Java中的静态块[重复]

    这个问题在这里已经有答案了 前几天我正在查看一些代码 我发现 static 来自 C 我不知道为什么会出现这种情况 这不是一个错误 因为代码编译得很好 这个 静态 代码块是什么 It s a 静态初始化器 它在类加载 或准确地说是初始化 但
  • HTML5 中的 iframe 拉伸

    我有两个 html 文件 一个包含另一个带有 iframe 的文件 我想让这个 iframe 拉伸到父 html 的整个高度 所以第一个 html 文件 具有红色背景 如下所示 第二个 具有蓝色背景
  • Python:比较两个 csv 文件中的特定列

    假设我有两个 CSV 文件 file1 和 file2 其内容如下所示 file1 fred 43 Male 23 45 blue 1 bedrock avenue file2 fred 39 Male 23 45 blue 1 bedro