我有两个大的(比方说300,000 * 100)矩形csv文件,它们具有相同数量的相应行和列。我需要找出2个文件中每个对应单元之间的差异。 程序应该对不同的行和单元格号和不同的内容。查找2个csv文件差异的有效方法
由于行/列的数量非常大,我正在寻找最有效的方法来做到这一点。
起初,我开始使用awk探索和this看起来前途无量,但我还没有使用awk前工作,在此延伸至100列,而不是2作为例子
接下来不成功,我尝试了使用Java的一种强力方法 - 将文件加载到2个二维数组中。初始化100个线程,每个线程工作在给定的列上,当发现差异时,每个线程将行,单元格和差异值放入HashMap(列号为Key)。我试图通过比较读取第二个文件到阵列中来进行优化,但实际上,由于我正在访问每个单元,因此无法快速完成比较(花费将近8小时来完成比较)。
I'可以使用awk或Java。并开放给任何其他完全不同的方法。
只需使用'diff'来检查文件的差异呢?输出可以存储在一个文件中或用于脚本进一步分析并采取适当的行动。 –
这正是当前程序正在做的。 diff只是打印整个行,并且在很多情况下,从左边的文件中说出10行,然后在右边的文件中跟着10行。所以人们必须手动复制成excel,并在视觉上比较每一列。请注意,90%的行有一些区别..所以diff o/p是相当大的 – Plaiska
那么让excel解决它呢?没有充分加快它的功能,但我相信一些矩阵搜索可以应用到多个选项卡,也许更改背景颜色? –