我正在使用OpenRefine(以前是Google Refine)清理来自多个来源的数据。我有来自不同来源的文件,其中包含公司,列定义相同,即
UNID|名称|街道|城市|国家|电话|。。。sg52d|a公司|a街道|a城市|c国家|1234sg52d|a公司|a街道|a城市|c国家|0099835dfnsd|B公司|B街|B市|c国家|33445dfnsd|B公司|不同|另一个|c国家|33345xxbb3|C公司|C街|B城市|A国家|1111xxbb3|C公司|C街|B城市|A国家|1111
我想要的是这个结果(只有最后一家公司被合并,所有列都相同)
UNID|名称|街道|城市|国家|电话|。。。sg52d|a公司|a街道|a城市|c国家|1234sg52d|a公司|a街道|a城市|c国家|0099835dfnsd|B公司|B街|B市|c国家|33445dfnsd|B公司|不同|另一个|c国家|33345xxbb3|C公司|C街|B城市|A国家|1111
有简单的方法吗?
我知道我可以将所有列连接到一个新列中,但由于列的数量,这是一个小的PITA。
也许有一种方法可以让新的列定义循环通过所有其他列并合并它?
这是一种奇怪的方法,但它应该有效:http://googlerefine.blogspot.com/2011/08/remove-duplicate.html请确保永久更改排序。
您可以使用以下表达式创建新列:
forEach(["UNID", "Name", "Street", "City", "..." ],x,cells[x].value).join("")