как я могу извлечь долготу и широту из этого -
Feature(place='12km SSE of Volcano, Hawaii', long=-155.2005, lat=19.3258333, depth=6.97, mag=5.54)
Часть кода ниже
lrgst = features[0]
print ('\n',lrgst)
plt.bar(y_pos, magn)
plt.xticks(y_pos, loc)
plt.ylabel('Magnitude')
plt.show()
features = list(get_info()) #Storing our json information into a list 'Features'
Features — это данные в формате списка всех значимых землетрясений (4.0+) по всему миру, а та строка, которую я показал для примера, не постоянна и будет меняться каждую неделю, когда новые данные будут загружаться в json наиболее значительных землетрясений. И с помощью этого. lrgst = features[0] Я извлекаю первую строку из списка, так как я уже отсортировал по магнитуде, и землетрясение с наибольшей магнитудой всегда будет первой строкой.






Предполагая, что «функции» представляют собой список записей, как в приведенном примере, это решение будет работать:
features = ["Feature(place='12km SSE of Volcano, Hawaii', long=-155.2005, lat=19.3258333, depth=6.97, mag=5.54)"]
def find(string, char_before, char_after):
start = string.find(char_before) + len(char_before)
end = string[start:].find(char_after) + start
return string[start:end]
long = find(features[0], 'long=', ', ')
lat = find(features[0], 'lat=', ', ')
print(lat + ', ' + long)
19.3258333, -155.2005
Я попробую и отвечу здесь
Я пытался извлечь с помощью регулярного выражения... но что-то не работает..
если это сработает, то проблема Алекса с будет решена...
почему ничего не совпадает?
place = "12km SSE of Volcano, Hawaii', long=-155.2005, lat=19.3258333, depth=6.97, mag=5.54"
a1=re.match("r(long=)([\-\d\.]*)",place)
if a1:
print (a1.groups(1))
Является ли ввод (например, «Feature..») строкой, требующей синтаксического анализа или создания экземпляра конструктора класса?