python - 如何比较两个文件以查看一个列中的记录是否存在于来自单独文件的另一列中,然后仅在找到的地方进行模糊匹配?
问题描述
主要目标:检查文件 1 的列 1 以查看文件 2 的列 2 中是否存在邮政编码。如果匹配,则继续执行街道地址字段的模糊匹配。File1 有 900 条记录,而 file2 有 31,000,000 条记录,所以我们也遇到了优化问题。
我做了什么:我有两个文件。我在使用熊猫时都读过它们。我已经设置了模糊匹配过程。我现在正试图返回并添加一种首先检查“邮政编码”列的方法,因为该过程花费的时间太长而且结果并不完全准确(例如,街道地址可能会显示“邮政信箱 678”但是在多个城市,因此这会产生误报,并且首先匹配邮政编码,这可能不会经常发生)。
matched_street = []
for row1 in PACTconverted1.index:
P_Street = PACTconverted1._get_value(row1,"P_Street")
for row2 in acctinfo.index:
Street= acctinfo._get_value(row2,"Street")
matched_token=fuzz.token_sort_ratio(P_Street,Street)
if matched_token> 80:
matched_street.append([P_Street,Street,matched_token])
终极问题:在进行模糊匹配之前,检查邮政编码的代码应该是什么样的?
解决方案
推荐阅读
- php - 使用 php 格式化 JSON
- php - 如何在不丢失先前值的情况下向会话数组添加值?
- python - 将数据帧 cols 转置为 PYSPARK 中的行
- java - 如何使用正则表达式验证二进制分数?
- kubernetes - 如何手动调整 IBM Cloud File / Block Storage 支持的 PVC 的大小?
- django - Django Forms - 如果存在则获取对象 - 唯一字段 - M2M
- c# - iOs地图和android地图之间的折线有什么区别?
- python - 我正在运行我的 Kivy 程序的一半
- reactjs - Material-ui 类名称在构建时更改,为每个由用户覆盖的类名称添加标识符
- apache-storm - 在 Apache Storm 中的 Bolt 中从多个流中进行字段分组