Как получить доступ к данным внутри класса Class Dict? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь использовать определенные данные о погоде в формате json и получить доступ к определенным частям данных с помощью скрипта Python3.Фактические данные еще не доступны в Интернете, поэтому я использую образец в формате JSON.Вот содержимое файла json:

    "observations": [{
        "stationID": "KNCCARY89",
        "obsTimeUtc": "2019-02-04T14:53:14Z",
        "obsTimeLocal": "2019-02-04 09:53:14",
        "neighborhood": "Highcroft Village",
        "softwareType": "GoWunder 1337.9041ac1",
        "country": "US",
        "solarRadiation": 436.0,
        "lon": -78.8759613,
        "realtimeFrequency": null,
        "epoch": 1549291994,
        "lat": 35.80221176,
        "uv": 1.2,
        "winddir": 329,
        "humidity": 71,
        "qcStatus": 1,
        "imperial": {
            "temp": 53,
            "heatIndex": 53,
            "dewpt": 44,
            "windChill": 53,
            "windSpeed": 2,
            "windGust": null,
            "pressure": 30.09,
            "precipRate": 0.0,
            "precipTotal": 0.0,
            "elev": 413
        }
    }]
}

Вот простой скрипт на python, который я использую для доступа к этим образцам данных json из файла на моей Raspberry:

import json
from pprint import pprint

with open('data.json') as f:
    weather = json.load(f)

pprint(weather)

Печать данныххорошо, но я изо всех сил пытался использовать встроенные данные!

Когда я запрашиваю тип "type (weather)", ответом является "

. Единственный запрос, который, кажется, работает, это" pprint (weather ['наблюдения'])), который показывает всеДанные JSON ниже «наблюдения», но я не могу понять, как получить ниже, чем это!

Нужно ли преобразовывать данные в другой «тип»?

1 Ответ

0 голосов
/ 14 февраля 2019

погода ['наблюдения'] кажется массивом с одним элементом в JSON выше.В Python эта погода ['наблюдения'] должна быть списком, и для доступа к ее первому элементу вы должны написать

weather['observations'][0]

С этого момента вы сможете получить доступ к подэлементам, например,

weather['observations'][0]['stationID']
...