以浮点形式从python中的json提取数据

2024-05-15 15:33:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从http://api.open-notify.org/iss-now.json/中提取经度和纬度。 我使用请求来保存页面,但是有人可以帮助提取数字吗


Tags: orgapijsonhttpnotify数字页面open
2条回答

使用json将页面字符串加载到字典中:

import json
import requests

page = 'http://api.open-notify.org/iss-now.json/'

with requests.get(page) as pg:
    data = json.loads(pg.text)

#actually could just do data = pg.json()

输出:

{u'timestamp': 1593559635, u'message': u'success', u'iss_position': {u'latitude': u'26.5951', u'longitude': u'165.5561'}}

lon = float(data['iss_position']['longitude'])
lat = float(data['iss_position']['latitude'])

requests中的响应对象具有json方法。因此,您只需执行以下操作:

import requests

response = requests.get("http://api.open-notify.org/iss-now.json/")

coords = response.json()["iss_position"]

lon = float(coords["longitude"])
lat = float(coords["latitude"])

print(lon, lat)

其中给出(例如):

164.2242 27.9186

(注意:如果响应不是预期的格式,那么可能会在不同的地方引发异常。您可以进行各种检查,例如在调用response.json()之前检查response.status_code == 200,但如果需要,捕获异常可能同样容易。)

相关问题 更多 >