gpt4 book ai didi

php - 如何清理使用 PHP 和/或 MySQL 格式化的美国地址

转载 作者:行者123 更新时间:2023-11-29 04:41:52 24 4
gpt4 key购买 nike

我有一个包含 500,000 个帐户的列表,每个帐户都有一个地址。

我需要做的是清理地址,这样我就可以找出哪些帐户属于同一地址。我知道会有一些错误,但我需要尽我所能。

有没有我可以使用的服务,它可以验证地址或将地址格式化为标准格式?

例如

RD->ROAD
ST->Street
STE->SUITE
.....
....

我不知道所有的组合。是否有我可以运行的脚本来更新地址?

我知道我可以使用 MySQL REPLACE() 函数将 RD 替换为 ROAD,但是如果 steet 名称本身与单词“RD”联系会导致问题怎么办?如果我要进行替换,则必须是单词替换而不是标准字符串替换。

我可以编写一个 PHP 脚本来更新地址(如下所示)但我需要知道所有可能的组合。

解决这个问题的最佳方法是什么?我怎样才能找出我必须检查的所有/大部分组合?

<?php

$arr = explode(" ", $row['address']);
$clean = array();
foreach($arr AS $key=>$val){

if($val == 'RD')
$new = 'ROAD';
else if ($val == 'STE')
$new = 'SUITE';
else
$new = $val;

$clean[] = $new;
}
?>

最佳答案

这实际上真的很难(相信我,我知道——我在 SmartyStreets 多年来一直在编写这样的脚本)。当整个地址是单个字符串时更难。您需要的是支持自由格式解析的地址验证服务。 (SmartyStreets 有。)

Google Maps API 的服务条款禁止将其用于大量数据或出于临时缓存以外的原因存储结果。此外,它不会验证地址——地址可能无效,但仍会使用该 API 返回地理编码。

您可以自行研究以找到满足您需求的服务。我有偏见,但我相信SmartyStreets将最经济地满足您的需求。该 API 由 SLA 保证正常运行,它易于使用(只需使用最多 100 个地址发出 POST 请求),并且您可以根据需要存储数据(尽管您可能应该每 90 次检查一次数据更新) -120 天,具体取决于您要求地址的正确程度)。

经过 CASS 认证的服务还可以将地址标准化为正确的格式,从而轻松删除重复数据(即合并以不同方式表示的相同地址)。

关于php - 如何清理使用 PHP 和/或 MySQL 格式化的美国地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762911/

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