比较python中两个未排序文件的列…需要特定的输出

比较python中两个未排序文件的列…需要特定的输出,python,Python,我有两个大数据的管道分隔文件…需要比较它们的列..I列是主键 例如。 1.dat 2.dat 569|NY|A+|500 777|OK|A|350 899|OK|B|150 输出应如下所示: NY column3 1 NY column4 1 OK column3 2 OK column3 2 这意味着纽约唱片公司。。。第三列对于匹配的记录有一个差异。对于OK记录…第三列对于匹配的记录有两个差异 我想连接我的主键i列上的两个文件,然后比较它们的列 请帮助我:)如果文件已排序,如您所示

我有两个大数据的管道分隔文件…需要比较它们的列..I列是主键

例如。 1.dat

2.dat

569|NY|A+|500
777|OK|A|350
899|OK|B|150
输出应如下所示:

NY  column3 1
NY  column4 1
OK  column3 2
OK  column3 2
这意味着纽约唱片公司。。。第三列对于匹配的记录有一个差异。对于OK记录…第三列对于匹配的记录有两个差异

我想连接我的主键i列上的两个文件,然后比较它们的列


请帮助我:)

如果文件已排序,如您所示,您可以使用类似于合并排序的合并阶段的方式进行排序:

  • 从两个文件的开头同时开始,并从每个文件中读取一行
  • 如果它们的主键匹配,则比较它们并输出所需的不同行
  • 如果没有,您将看到其中哪一个具有较小的键并继续 转到该文件的下一行
  • 重复2或3,直到到达其中一个文件的末尾
  • 如果文件未排序,请先按主键对其排序。

    fileHandle=open('one.dat','r')对于fileHandle中的行:fields=line.split('|')
    NY  column3 1
    NY  column4 1
    OK  column3 2
    OK  column3 2