比较python中两个未分类文件的列....需要特定的输出

时间:2013-09-24 16:23:59

标签: python

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

例如。 one.dat

123|NY|AA|500
569|NY|A|450
777|OK|B|250
899|OK|C|100

two.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

这意味着对于NY记录......列III对于匹配的记录有一个区别...对于OK记录...第3列有匹配记录的2个差异....

我想在I列上加入两个文件,这是我的主键,然后比较它们的列。

请帮帮我:)。

1 个答案:

答案 0 :(得分:1)

如果对文件进行排序,如您所示的示例位,则可以采用与合并排序的合并阶段类似的方式进行排序:

  1. 您同时从两个文件的开头开始,并从每个文件中读取一行。
  2. 如果主键匹配,则比较它们并输出所需的差异行。
  3. 如果没有,您会看到哪些键具有较小的键并继续前进 到该文件的下一行。
  4. 重复2或3,直到您到达其中一个文件的末尾。
  5. 如果文件没有排序,请先按主键排序。