如何用python根据excel中地址批量查找高德坐标系的经纬度
时间: 2023-06-02 21:01:56 浏览: 131
您可以使用geopy和pandas库来实现这个功能。geopy可以帮助您根据地址查找经纬度,pandas可以帮助您读取和写入Excel文件。下面是一个示例代码:
```python
from geopy.geocoders import Nominatim
import pandas as pd
# 读取Excel文件
df = pd.read_excel('addresses.xlsx')
# 初始化geopy的Nominatim对象
geolocator = Nominatim(user_agent='myapplication')
# 定义函数来查找每个地址的经纬度
def get_coordinates(address):
location = geolocator.geocode(address)
if location is not None:
return location.latitude, location.longitude
else:
return None, None
# 添加新的列来存储经纬度
df['Latitude'], df['Longitude'] = zip(*df['Address'].apply(get_coordinates))
# 将结果写入新的Excel文件
df.to_excel('coordinates.xlsx', index=False)
```
这个代码将从Excel文件中读取地址,使用geopy查找每个地址的经纬度,并将结果写入新的Excel文件。您需要将代码中的`addresses.xlsx`替换为您自己的Excel文件名,并确保该文件包含一个名为`Address`的列,其中包含您要查找经纬度的地址。最后,代码将在同一目录下创建一个名为`coordinates.xlsx`的新Excel文件,其中包含原始Excel文件的所有列以及新的`Latitude`和`Longitude`列,分别包含每个地址的纬度和经度。
阅读全文