【发布时间】:2021-12-28 15:12:11
【问题描述】:
我有一个看起来像这样但更长的 csv:
| ID | Address |
|---|---|
| 32 | 54298 Boca Chica Blvd Brownsville, TX |
| 31 | 6640 Washington St, Yountville, CA 94599 |
我正在尝试遍历 csv,使用 geopy 获取每个地址的纬度和经度,然后将它们插入到如下所示的第 3 列和第 4 列中:
| ID | Address | Latitude | Longitude |
|---|---|---|---|
| 32 | 54298 Boca Chica Blvd Brownsville, TX | 34.5165131 | 90.1656516 |
| 31 | 6640 Washington St, Yountville, CA 94599 | 26.1231 | 51.516125 |
它是在同一个旧的 csv 中(这就是我正在尝试的),还是在一个新的 csv 中并不重要。我读过的以前的帖子要么侧重于附加整行而不是列,要么只是使用手动输入/硬编码到 python 脚本中的数据填充新列。
到目前为止,我能够遍历并获得纬度和经度。我遇到的问题主要是在写作部分。这是我所拥有的。
import geopy
import pandas as pd
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="sample app")
df = pd.read_csv(r"C:\Users\Desktop\LatLongTest.csv")
for row in df.itertuples():
try:
data = geolocator.geocode(row[7])
print(data.point.latitude)
except AttributeError:
print('error')
任何帮助将不胜感激!我当时只有一点 Java 经验。 Python 的文档和已发布的示例对我来说不像 Java 那样直观,所以入门有点挑战。
【问题讨论】:
标签: python python-3.x pandas csv geopy