如何实现VLOOKUP的difflib模糊匹配功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1062个文字,预计阅读时间需要5分钟。
拓展VLOOKUP的difflib模糊匹配+背景+完整代码+代码解读+错误代码+背景+手动头有两份Excel数据,一份是大数据表,一份是数据表。其中大数据表名为匹配表结构.x。
拓展vlookup的difflib模糊匹配
- 背景
- 完整代码
- 代码解读
- 错误代码
背景
手里头有两份excel数据,一份是大表,一份是小表。其中大表名为匹配表机构.xlsx,有20000多个小区名称和对应的租金坪效字段,小表名为待匹配表.xlsx,只有一部分小区名称,现在要为小表中这些小区匹配出租金坪效值。本来想用excel的vlookup()函数匹配一番,发现匹配效果不好,因为两份数据来源不同,小区命名规则略有不同,最后只匹配出6层,有些因为小区一点点差别导致匹配补上,比如“中冶·尚城”,而大表里面有一个“中冶尚城”,两者差别仅仅存在中间一点,一个多了“·”,一个少了“·”,其实两者在实际中是表示同一个小区,此时vlookup没法匹配,于是琢磨着用difflib模块进行模糊的匹配。
待匹配里面某小区名可能与大表里面好几个相似的小区名称,其中vlookup只能匹配出完全一致,此时,相似度为1,那现在把相似度设置低一点,比如0.8,此时“同仁小区”就能和大表里面的“上海同仁小区”匹配上了。
本文共计1062个文字,预计阅读时间需要5分钟。
拓展VLOOKUP的difflib模糊匹配+背景+完整代码+代码解读+错误代码+背景+手动头有两份Excel数据,一份是大数据表,一份是数据表。其中大数据表名为匹配表结构.x。
拓展vlookup的difflib模糊匹配
- 背景
- 完整代码
- 代码解读
- 错误代码
背景
手里头有两份excel数据,一份是大表,一份是小表。其中大表名为匹配表机构.xlsx,有20000多个小区名称和对应的租金坪效字段,小表名为待匹配表.xlsx,只有一部分小区名称,现在要为小表中这些小区匹配出租金坪效值。本来想用excel的vlookup()函数匹配一番,发现匹配效果不好,因为两份数据来源不同,小区命名规则略有不同,最后只匹配出6层,有些因为小区一点点差别导致匹配补上,比如“中冶·尚城”,而大表里面有一个“中冶尚城”,两者差别仅仅存在中间一点,一个多了“·”,一个少了“·”,其实两者在实际中是表示同一个小区,此时vlookup没法匹配,于是琢磨着用difflib模块进行模糊的匹配。
待匹配里面某小区名可能与大表里面好几个相似的小区名称,其中vlookup只能匹配出完全一致,此时,相似度为1,那现在把相似度设置低一点,比如0.8,此时“同仁小区”就能和大表里面的“上海同仁小区”匹配上了。

