#python #xml #python-3.x
#python #xml #python-3.x
Вопрос:
У меня есть URL, похожий на этот:https://nominatim.openstreetmap.org/reverse ?format = xml amp; lat = 17.978733 amp; lon = 79.14550876 amp;zoom = 14 amp;addressdetails = 1 и я хочу изменить значения lat
и lon
в моем csv-файле.
import csv
import requests
import xml.etree.ElementTree as ET
def loadxml():
# url of rss feed
url = 'https://nominatim.openstreetmap.org/reverse?format=xmlamp;lat=25.6amp;lon=78.0176amp;zoom=14amp;addressdetails=1'
# creating HTTP response object from given url
resp = requests.get(url)
# saving the xml file
with open('ldn.xml', 'wb') as f:
f.write(resp.content)
loadxml()
Эта команда предназначена для одного, lat
lon
но мне нужны мои CSV- lat
и lon
значения.
Ответ №1:
Новый URL-адрес может быть создан следующим образом:
def get_url(lat,lon):
return 'https://nominatim.openstreetmap.org/reverse?format=xmlamp;lat=' str(lat) 'amp;lon=' str(lon)'amp;zoom=14amp;addressdetails=1
Предположим, что ваш фрейм данных вызывается как df, а столбцы, содержащие широту и долготу, имеют имена lat и lon соответственно, следующим образом:
for index, row in df.iterrows():
url = get_url(row[lat],row[lon])
resp = requests.get(url)
with open('ldn.xml', 'wb') as f:
f.write(resp.content)
Надеюсь, это может вам помочь.