簡體   English   中英

從 python 中的 json 中提取數據作為浮點數

[英]extracting data from json in python as float

我想從http://api.open-notify.org/iss-now.json/中提取經度和緯度。 我使用請求來保存頁面,但有人可以幫助只提取數字嗎?

requests中的響應 object 具有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 ,但是如果需要,捕獲異常可能同樣容易。)

使用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()

output:

{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'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM