如何从多个不同来源导入和合并相似(但不相等)的文本

Posted

技术标签:

【中文标题】如何从多个不同来源导入和合并相似(但不相等)的文本【英文标题】:How to import and consolidate similar (but not equal) text from several different sources 【发布时间】:2013-05-14 09:39:13 【问题描述】:

我正在从几个文件(excel 文件)中导入一组数据,这些文件每天都包含没有标识符的记录。 然后将需要的数据存储在关系数据库 (Oracle) 中。

问题是文本可能与每个资源略有不同,因为没有唯一标识符,我需要以某种方式基于文本值进行比较。

例如,假设我从不同来源获得此信息:

Source A: The Dark Knight
Source B: Batman The Dark Knight
Source C: The Dark Knight 2008
Source D: The Dark Knight Rises

如果数据库已经保存了一个 item_name 为“The Dark Knight”的项目,那么当我从源 A、B、C 导入这行时,我会得到一个“完全匹配”,但不是 D,因为那是一部不同的电影。

须知:

该过程不是 100% 自动化的,因此如果不匹配,则会有用户交互手动匹配或创建新记录。 虽然存在用户交互,但我希望将其保持在最低限度(尤其是在用户手动匹配项目之后)。

我该如何解决这个问题,而不用为每个项目添加大量同义词?

【问题讨论】:

【参考方案1】:

2013 年 5 月 21 日更新

我发现:http://matpalm.com/resemblance/

这是杰卡德系数的使用。尽管我不确定它是否最适合我的情况,因为复杂性,匹配 m x n 次,其中 m 是导入记录的大小,n 是可能长达数万的数据库记录总数。

【讨论】:

以上是关于如何从多个不同来源导入和合并相似(但不相等)的文本的主要内容,如果未能解决你的问题,请参考以下文章

BCP 从多个文本文件导入到多个表

将来自不同文件夹的多个 csv 文件(相似名称)合并到一个 csv 中并逐行绑定它们 [关闭]

访问:合并相似的记录

如何在大型矩阵中合并具有相似名称的列

在 Excel VBA 项目中匹配相似但不精确的文本字符串

django模板的导入