小编pit*_*her的帖子

Python geopy地理编码器中的超时错误

我是一个相对较新的Python用户,我正在尝试使用函数来使用"geopy"模块返回城市和国家的纬度和经度.我有错误,因为我的城市拼写错误,我已设法抓住.我现在遇到的麻烦是我遇到了超时错误.我已经阅读了这个问题Geopy:捕获超时错误并相应地调整了我的超时参数.但是,在我收到超时错误之前,它现在运行了不同的时间长度.我试过在更快的网络上运行它,它在某种程度上起作用.问题是我需要为100k行执行此操作,并且在超时之前迭代的最大行数为20k.非常感谢任何有关如何解决此问题的帮助/建议.

import os
from geopy.geocoders import Nominatim
os.getcwd() #check current working directory
os.chdir("C:\Users\Philip\Documents\HDSDA1\Project\Global Terrorism Database")

#import file as a csv
import csv
gtd=open("gtd_original.csv","r")
csv_f=csv.reader(gtd)
outf=open("r_ready.csv","wb")
writer=csv.writer(outf,dialect='excel')
for row in csv_f:
    if row[13] in ("","NA") or row[14] in ("","NA"):   
        lookup = row[12] + "," + row[8]  # creates a city,country
        geolocator = Nominatim()
        location = geolocator.geocode(lookup, timeout = None) #looks up the city/country on maps
        try:
            location.latitude
        except:
            lookup = row[8]
            location = geolocator.geocode(lookup) 
        row[13] = location.latitude
        row[14] = …
Run Code Online (Sandbox Code Playgroud)

python timeout geopy

1
推荐指数
2
解决办法
6122
查看次数

标签 统计

geopy ×1

python ×1

timeout ×1