gpt4 book ai didi

php - 导入数据库时​​比较数据的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 06:45:16 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库表,其中包含大约 1000 家商店的信息。现在我将通过上传 Excel 电子表格导入更多商店,并且我正在努力避免重复。

  • 商店的名称可以相同,但地址绝不能相同。
  • 商店的地址可以相同,但名称绝不能相同

但这是我的问题。

  • 商店可能拼写错误
  • 地址可能拼写错误

目前我正在将数据导入临时表。现在我想知道将导入的商店与现有商店进行比较的最佳方法是什么。

我的计划是遍历每一行并比较商店。

  • 首先比较 a.name = b.name 和 a.street = b.street。匹配时,商店被删除。
  • 然后我将对名称和街道进行 Levenshtein 比较。在这里,我可能必须手动查看结果以确定它是否重复。

有没有人有过这种数据比较的经验?

更新
感谢您的好答案。

将用于比较的字段是:

  • 姓名
  • 街道地址
  • 邮政编码
  • 城市
  • 国家

我的想法是这样的:

选择 name = Lavenshtein 和 country = country 的行。
这样我只需要处理一个小列表。

然后我可以开始更彻底地比较姓名和地址。

最佳答案

Levenshtein-distance 是这样做的方式,您可以避免手动输入。但实际的实现将取决于对数据的某种先验知识。就像您期望拼写有多少错误一样。

例如,假设它是一个高质量的数据,而您只希望出现错别字,您可以根据以下条件生成匹配条件:1) 单词数是否相同? 2) 这些词的顺序 3) 名称中每个词的 Levenshtein 距离允许误差的小阈值。

可以通过在名称有歧义时检查具有类似条件的地址来加强条件,反之亦然。

关于php - 导入数据库时​​比较数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6855941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com