我在数据框中具有经度和纬度。我正在寻找使用Google Maps API的邮政编码。现在,我正在尝试编写一个循环来执行此操作,它将无法正常工作。问题是gmaps变量result
如何将两个作为我变量的float转换为一个latlng
变量?
我已经成功地做到了这一点,我在坐标中“硬编码”了。
latlng
for index, row in bike_df.iterrows():
lat = row["Starting Station Latitude"]
long = row["Starting Station Longitude"]
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=34.052898,-118.241562&key={0}').format(gkey)
response = requests.get(target_url).json()
try:
print(response['results'][0]['address_components'][7]['long_name'])
except:
print(f"Could not {index} find zip")
它只是运行而没有任何输出。
答案 0 :(得分:0)
您的lat
和long
变量未插入target_url
字符串中。您需要执行以下操作:
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng={lat},{long}&key={gkey}').format(lat=lat,long=long,gkey=gkey)
答案 1 :(得分:0)
您应该像使用gkey一样使用concatate您的变量。您可以通过多种方式进行操作。
例如:
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng='+str(lat)+','+str(long)+'&key={0}').format(gkey)
或类似
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?latlng={0},{1}&key={2}').format(lat, long, gkey)
答案 2 :(得分:0)
也许尝试一下?
import pandas as pd
df = pd.DataFrame({'lat':[34.052898,34.052898,34.052898],
'long':[-118.241562,-118.241562,-118.241562]})
df
for index, row in df.iterrows():
latlng = lat + long
print(latlng)
[34.052898,-118.241562] [34.052898,-118.241562] [34.052898,-118.241562]
lat = row["Starting Station Latitude"]
long = row["Starting Station Longitude"]
target_url = ('https://maps.googleapis.com/maps/api/geocode/json?'
'latlng=lat,long&key={0}').format(gkey)
response = requests.get(target_url).json()
try:
print(response['results'][0]['address_components'][7] .
['long_name'])
except:
print(f"Could not {index} find zip")