模糊匹配省市区地址

article/2025/9/12 20:21:14

用户输入地址不可能一定规范,如按习惯省略掉:“省”、“市”、“区”等关键字,此时安装正则匹配很容易查找不到正确的地址。
以下代码按照用户输入的先后顺序,相同的词组进行匹配,可靠性与适配性大大提高,记录于此以供参考:

def get_area_code(biz_address_code):"""获取省市编码"""print(biz_address_code, type(biz_address_code))data, error_info = None, None# 判断传入数据是否为空if (not biz_address_code) or (not isinstance(biz_address_code, str)):error_info = '根据 开户银行省市:“{}” ,获取省市编码失败,请按规范填写!'.format(biz_address_code)return None, error_infonum = -1  # 定义开始行数# 打开对照表comparison_table = os.path.join(BASE_PATH, 'static', '省市区编号对照表.xlsx')sheet = xlrd.open_workbook(comparison_table)table = sheet.sheets()[0]cols = table.col_values(1)res_address = None  # 终值res_weight = 0  # 权值for regions in cols:num += 1region_list = regions.split(',')  # eg: ['中国', '', '天津市', '河东区']address_str = ''weight = 0data = table.cell(num, 0).valuebiz_address = biz_address_codefor index, region in enumerate(region_list):  # 使用index作为权值if not region:continue# 找到大于两个字符的共同部分ret = ''for zip_li in zip(region, biz_address):if len(set(zip_li)) == 1:ret += zip_li[0]else:breakif len(ret) >= 2:weight += indexaddress_str += regionbiz_address = biz_address.replace(ret, '')  # 将匹配到的部分去除掉,理论上该匹配没有问题if res_weight < weight:res_weight = weightres_address = dataif not res_address:error_info = '根据 开户银行省市:“{}”,获取省市编码失败,请按规范填写!'.format(biz_address_code)return res_address, error_infoelse:res_address = str(int(res_address))return res_address, error_info**

省市区编号对照表.xlsx 是记录好所有的地区编号对应信息的excel表格,如下入所示:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/Ot005voS.shtml

相关文章

excel根据不同的条件模糊匹配,替换,做计算

IF(COUNTIF(E2,“Gbps”)>0,VALUE(SUBSTITUTE(E2," Gbps","")),IF(COUNTIF(E2,“Tbps”)>0,VALUE(SUBSTITUTE(E2," Tbps","")*1024),IF(COUNTIF(E2,“Mbps”)>0,VALUE(SUBSTITUTE(E2," Mbps","")/1024),…

【Python处理EXCEL】轻办公实用篇1:通过模糊匹配算法对两个excel表格的内容进行匹配归类

目录 一、问题描述 二、运用方法 三、代码编写 3.1 3.2 3.3 3.4 3.5 四、代码集合 一、问题描述 在实习的时候&#xff0c;需要将两个表格的内容进行匹配分类&#xff0c;比如两个不同的工程项目针对的对象都是A&#xff0c;那么就需要将这两个工程项目归类到A当中&am…

python 模糊匹配字符串 excel,python pandas模糊匹配Excel指定指标 python pandas模糊匹配 读取Excel后 获取指定指标的操作...

想了解python pandas模糊匹配 读取Excel后 获取指定指标的操作的相关内容吗,D_grey在本文为您仔细讲解python pandas模糊匹配Excel指定指标的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python,pandas,模糊匹配,读取Excel,指定指标,下面大家一起来学习吧。 1.首…

wps中excel如何实现模糊搜索匹配的内容(可以匹配想要的各种格式)

1&#xff0c;在某一列进行搜索-筛选搜索-如包含“XXX信息XX公司XX”这种格式的。 输入 &#xff1a;信息*公司 &#xff08;1&#xff09;选择第一种搜索方式代表寻找符合条件&#xff1a; 包含信息和公司两个关键字&#xff0c; 且信息在前公司在后&#xff0c; 且两个词语之…

【如何使用Excel进行两表之间模糊匹配查找】

在特殊情况下&#xff0c;A表中表示人名字段的内容只是包含名字&#xff0c;B表中表示人名字段包含姓和名字&#xff0c;如A表&#xff1a;yinxu &#xff0c;B表&#xff1a;li yinxu &#xff0c;我们认为是同一个人&#xff0c;如何通过Excel更好的匹配出来呢? &#xff0…

excel部分字段相同模糊匹配

一、提出问题 你要么获取一批数据,然后根据它提问,或者先提问,然后根据问题收集数据。在这两种情况下,好的问题可以帮助你将精力集中在数据的相关部分,并帮助你得出有洞察力的分析。 二、理解数据 1、理解各字段的意思,如果有英文可修改成中文更易理解。 2、在数据清洗…

excel模糊匹配sql server数据库

假如数据库中已经有数据了 步骤1 在Excel表格中新建一页表格用于存储数据库的数据 步骤2 将待输入数据的表格与数据库关联 步骤3 在表格启动时&#xff0c;将表格与数据库进行关联 注意&#xff1a;一定要在ThisWorkbook的Workbook_open()方法中实现。 附上代码&#x…

Excel技巧:模糊匹配包含项

公式&#xff1a;VLOOKUP("*"&B2&"*",M:M,1,0) // 待查找的元素中前后 加*&#xff0c; 表示匹配含该元素 案例&#xff1a;

Excel模糊匹配相同内容的数据求和,使用SUMIF函数

看到朋友在对Excel表格数据进行机械操作&#xff0c;想到excel应该是个很强大的应用&#xff0c;这些机械操作应该可以通过函数简化操作的&#xff0c;于是不正经的研究下。 首先我们上图&#xff1a; 简单的需求&#xff0c;把每个店铺的每个月充值分别是200,500,1000,1500,2…

Excel之vlookup函数的模糊匹配和精准匹配

先复习一下&#xff0c;在Excel单元格中输入“Vlookup”提示如下 VLOOKUP(lookup_value,table_array,col_index_num.[range_lookup])其表达的意思为:Vlookup(查找的值&#xff0c;查找的区域&#xff0c;查找的数据所在的列&#xff0c;精确匹配/模糊匹配) 其中精准配相信大家都…

Excel模糊匹配

方法一: LOOKUP(1,0/FIND(A1,B2:C5),B2:C5) —A1,要查找的字符串 ; B2:C5可以是一个单元格 情形一&#xff1a;基于列1的值&#xff0c;在列2中模糊查找&#xff0c;如果有&#xff0c;则返回列2中找到的值 情形二&#xff1a;基于列1的值&#xff0c;在列2中模糊查找&#x…

关于Excel表操作-通过Fuzzywuzzy实现模糊匹配

Fuzzywuzzy 是一款可以对字符串模糊匹配的工具&#xff0c; 它使用 Levenshtein Distance 来计算出那些易用包中序列之间的差异。 Levenshtein Distance算法&#xff0c;又叫 Edit Distance算法&#xff0c;是指两个字符串之间&#xff0c;由一个转成另一个所需的最少编辑操作次…

【操作篇】Excel中如何自定义搜索(模糊匹配)不再需要一个个勾选l啦!

在Excel筛选下&#xff0c;可以在每个项目前勾选选择项&#xff0c;如果勾选项有上万上千个&#xff0c;难道要从万千个选项种一个个挑出来筛选吗? 当然不必&#xff0c;学会通配符&#xff0c;按照自己想要的方式进行查找。 通配符用法&#xff08;表示&#xff09;“”&am…

【Excel高效工作3】VLOOKUP函数实例使用(二):精确匹配进阶——反向查找,多条件查找 / 模糊匹配的使用

本章内容&#xff1a; 上一章用实例展示了VLOOKUP函数最基本的功能&#xff1a;精确匹配 的基础用法。然而&#xff0c;实际工作中对我们提出的需求会更高&#xff0c;面对某些更加复杂的情况&#xff0c;我们可能需要对Excel表格数据先进行预处理&#xff0c;再使用VLOOKUP函…

fastadmin使用editable实现行内编辑无刷新效果

记录&#xff1a;fastadmin使用editable实现行内编辑无刷新效果。 一、下载资源 editable资源下载地址 二、放在如下目录 三、引入并应用 代码示例&#xff1a; require.config({paths: {editable: ../libs/bootstrap-table/dist/extensions/editable/bootstrap-table-edit…

editable type支持function实现不同行type分别为select、text

bootstrap table一般注重一列中所有行都是一个处理方式&#xff0c;很少对应有同一列不同行要处理成不同的形式。但是formate啊&#xff0c;index啊&#xff0c;这些倒是随着行变化。 那么结合x-editable呢&#xff0c;它本身type只支持text&#xff0c;select等string&#x…

《Flutter 控件大全》第九十六:TextField、EditableText、TextInput

如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容。Flutter地址:http://laomengit.com 里面包含160多个组件的详细用法。EditableText EditableText是一…

fastadmin中使用 x-editable

fastadmin中的表格使用的是 bootstarp-table的插件, 其中 没有看到它集成 x-editable , x-eidtable 插件可以允许用户直接在表格的字段上去修改数据, 这个功能还是很方便的, 那么我们怎么去让fastadmin也拥有这样的功能呢? 网上有一个分享方法,很好的, 我在这里做一下记录, 不…

bootstrap X-editable使用。

x-editable英文官网 参考 – 中文文档 demo 需求&#xff1a;如下图所示&#xff0c;我想要在点击 高于20 时&#xff0c;弹出框内只显示20&#xff08;弹出框做数字验证&#xff09;。修改为50后点击对号保存。表格内的高于20 变为 高于50 。 最终效果如下图&#xff1a; 修…

bootstrapTable行内编辑----X-editable组件

阅读目录 一、x-editable组件介绍二、bootstrapTable行内编辑初始方案三、bootstrapTable行内编辑最终方案 1、文本框2、时间选择框3、下拉框4、复选框5、“阴魂不散”的select2 四、总结 正文 前言&#xff1a;之前介绍bootstrapTable组件的时候有提到它的行内编辑功能&#x…