python - 我需要从这个循环的结果中提取邮政编码。
问题描述
我该怎么做才能只获取邮政编码而不是整个地址?现在它显示一个包含邮政编码的完整地址,有没有办法提取邮政编码?
import pandas as pd
import matplotlib.pyplot as plt
import numpy as py
from tabulate import tabulate
from geopy.geocoders import Nominatim
geolocator = Nominatim()
my_data = pd.read_csv('dt/TrafficCounts_OpenData_wm.csv')
geolocator = Nominatim(user_agent="my_application")
sub_set = my_data[["POINT_Y","POINT_X"]]
count = 0
for y in sub_set.itertuples() :
mypoint = str(y[1]) + ' ,' + str(y[2])
print(mypoint)
location = geolocator.reverse(mypoint)
print(location)
if count == 5 : break
count +=1
解决方案
由于邮政编码始终是地址中的最后 5 位或 5 加 4 位,因此您可以使用以下正则表达式从存储在location
变量中的地址中提取邮政编码:
import re
zipcode = re.search(r'\d{5}(?:-\d{4})?(?=\D*$)', location).group()
推荐阅读
- angular - 如何在 Angular 2+ 组件中定义私有常量变量
- javascript - 有没有一种快速的方法可以将另一个类似 JSON 的元素添加到 JSON 中?
- typescript - TypeScript - 使用泛型创建自定义类型
- maven - Maven 多模块不可解析父级
- python - 如何在给定参数曲线的点处绘制法线
- javascript - 将 iFrame Resizer 与 React JS 页面用作内容
- java - GC 如何在 GC 循环期间停止清理新创建的内存/对象(Java/C#)
- java - 在 Spring Boot 应用程序中使用 @Valid 和 BindingResult 时的表单输入验证问题
- oracle - 除数等于零,需要案例陈述的指导
- npm - 'npm cache clean' 清理了什么?