0

我正在尝试使用 Geopy 和 ArcGIS 对多个地址进行地理编码。我已经设置我的代码循环遍历 CSV 并检查地址和名称,并为纬度和经度坐标提供单独的列。

我的代码在执行时出现了问题,它没有提供经纬度坐标,也没有正确循环通过 CSV。我如何让它循环遍历多个地址并对它们进行地理编码,给出一个经纬度坐标。

下面是我的代码:

import csv
from geopy.geocoders import ArcGIS


geolocator = ArcGIS() #here some parameters are needed

with open('C:/Users/v-albaut/Desktop/Test_Geo.csv', 'rb') as csvinput:
    with open('output.csv', 'w') as csvoutput:
       output_fieldnames = ['Name','Address', 'Latitude', 'Longitude']
   writer = csv.DictWriter(csvoutput, delimiter=',', fieldnames=output_fieldnames)
   reader = csv.DictReader(csvinput)
   for row in reader:
        ##here you have to replace the dict item by your csv column names
        query = ','.join(str(x) for x in (row['Name'], row['Address']))
        Address, (latitude, longitude) = geolocator.geocode(query)
        ###here is the writing section
        output_row = {}
        output_row['Name'] = Name
        output_row['Address'] = Address
        output_row['Latitude'] = Latitude
        output_row['Longitude'] =Longitude
        writer.writerow(output_row)
4

1 回答 1

0

名称,纬度经度尚未在此范围内定义

output_row['Name'] = Name
output_row['Address'] = Address
output_row['Latitude'] = Latitude
output_row['Longitude'] =Longitude

它应该是纬度,经度那里。名字,我猜应该是 row['Name']。您还可以发布 csv 文件的片段(标题和 1-2 行)吗?

于 2015-07-07T21:54:16.010 回答