我试着做地理编码来提取邮政编码。我有两个不同的数据源应用于地理编码。你知道吗
a.首先尝试街道地址和城市及国家 b、 如果没有重新运行,请尝试与城市和国家
我的程序如下所示,如果我只使用第一种方法,效果会很好,但是如果我想将两者结合起来,这是有问题的:
from geopy.geocoders import Nominatim
geolocator = Nominatim()
geolocator=Nominatim(timeout=1000)
import io
import sys
# import urllib.request
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码
import pandas as pd
df = pd.read_csv("Italy.csv", encoding="cp1252") #改变标准输乳的默认编码
# print(df)
df["Conca_1"]=df["country2"]+" " " "+df["City"]+" " " "+df["Address Line 1"]
df["Conca_2"]=df["country2"]+" " " "+df["City"]
# print(df["Conca2"])
df["Coordinates_1"]=df["Conca_1"].apply(geolocator.geocode)
df["Coordinates_2"]=df["Conca_2"].apply(geolocator.geocode)
# df["zip"] = df['Coordinates_1'].apply(lambda x: x[0].split(',')[-2] if x != None else None)
df["zip"] = df['Coordinates_1'].apply(lambda x: x[0].split(',')[-2] if x != None else df['Coordinates_2'].apply(x[0].split(',')[-2] if x != None else None ))
print(df["zip"])
writer = pd.ExcelWriter('coordinates_result.xlsx', engine='xlsxwriter')
# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
我自己解决的
相关问题 更多 >
编程相关推荐