如何匹配数据集之间的条目?

时间:2018-11-22 20:51:13

标签: openrefine

例如,我有一个像这样的数据集:

| People      | ID  |
|-------------|-----|
| John Smith  |A1234|
| John Doe    |A1235|
| Jane Doe    |A1236|
| John Smith  |A1237|

我还有另一个像这样的数据集:

| People      | Company | City   | Rank  |
|-------------|---------|--------|-------|
| John Smith  | XXX     |New York| 1     |
| John Doe    | YYY     |London  | 2     |
| Jane Doe    | ZZZ     |Seoul   | 3     |
| John Smith  | WWW     |Tokyo   | 4     |

我想使用另一个表中的信息在第一个表中找到每个人的公司。请注意,第二个(也是第一个)表中的人名字相同(虽然很少),所以我们需要其他列来提供帮助。

是否需要在一个项目中导入两个表?现实情况是,我有多个表提供可能的名称/公司匹配,但是它们几乎没有相似性(即不同的数据集提供的信息完全不同),而每个数据集都有名称和公司行。

1 个答案:

答案 0 :(得分:1)

您需要创建两个单独的OpenRefine项目,然后使用cell.cross函数将它们加入。您还可以看到此tutorial for joining two projects in OpenRefine

cell.cross等效于数据库联接。您需要两个项目共有的唯一标识符,该函数才能匹配记录,否则,OpenRefine将返回第一个匹配项。