如何让Beyond Compare按名称匹配列而不是按顺序比较数据文件

6

我有两种情况:

  1. 两个csv文件,列数相同,但列的顺序不同。csv的第一行是标题行,正确指示了列名
  2. 两个csv文件有一些不同的列,但实际上大多数列在两个文件中都存在。同样,csv标题行指示可以进行比较的列名

在以上两种情况下,BC3无法自动匹配/更改列顺序。这可以通过“Session Settings”菜单手动完成,但需要耗费大量时间。

以上情况#2的示例

请注意以下截屏中,左侧文件有一个名为“priority”的列,而右侧文件没有。

之前(按顺序匹配列):

请注意下面的图像,左侧文件的第5列“priority”正在与右侧文件的第5列“companyjob”进行比较。所有后续列比较都类似地不匹配。

Before

之后(手动按名称匹配列):

After

是否有一种简单的方法可以轻松/自动配置此比较,就像我在第二个图像中手动执行的那样?

1个回答

1
我认为您可以在Beyond Compare中保存比较会话(简称为会话),这是两个文件系统对象之间的实际差异。您上面更改的设置是特定于该会话的,但您希望它们适用于任何其他类似的会话。我想知道是否有一种解决方法,可以使用您手动输入的数据比较列设置保存会话,并更改格式相似的文件路径以使它们采用相同的列设置。让我看看...
考虑三个文件。

file1.csv

Column1,Column2,Column3
A,B,C
A,B,C
A,B,C1

file2.csv

Column1,Column3,Column2
A,C,B
A,C,B
A,C1,B

file3.csv

Column1,Column3,Column2
A,C0,B
A,C,B
A,C,B

这是文件1和2之间的默认差异文件1.csv和文件2.csv之间的默认数据会话 在此我更改了数据比较列设置将第3列向上移动一级到右侧文件中,现在显示这两个具有排列列的文件之间没有变化。输入图像说明 保存该会话后,我编辑地址栏以将file2.csv替换为格式相似的file3.csv,并等待查看是否保留了列设置,对我来说看起来像是这样的输入图像说明 因此,我想你可以在任意示例会话中保持这些列设置,在那时你将稍后必须更改路径以使实际要进行差异比较的文件生效。这确实有点棘手,最好能够将这些设置应用为预配置设置,就像在文件夹比较会话中保存过滤器设置以应用于新会话一样。

不过我很好奇,为什么你的对话框看起来不同于我导航到编辑设置的地方;特别是你的显示了一个下拉菜单,上面写着“仅用于此视图”。在那个下拉菜单中还列出了什么?我正在使用3.3.8版本(构建16340)。


感谢@jxramos的建议。我在BC3中没有看到将给定配置文件保存到除所有未来数据比较之外的任何选项。此外,请注意,在您的示例中,列标题行被视为要进行比较的另一行数据。理想情况下,该工具可以使用标题行名称生成会话设置,以比较具有相同名称的列。关于对话框中的差异:我现在正在使用BC 3.3.13(构建18981),它已获得Windows专业版许可。我发布的早期版本仍然是它的外观。 - Joshua Berry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接