У меня большой файл Geo JSON (100 тыс. + Вложенные словари). Это макет Geo JSON:
[
{
"type": "Feature",
"properties": {
"OBJECTID": 2625,
"id": "ZWL_4983539",
"label": "PZ005",
"timestamp_from": "2018-06-16T13:00:00.000Z",
"timestamp_to": "2018-06-16T14:00:00.000Z",
"value_NO2": 14.48,
"unit_NO2": "ug/m3",
"value_PM10": 29.07,
"unit_PM10": "ug/m3",
"value_RH": 39.64,
"unit_RH": "%",
"value_P": 1014,
"unit_P": "hPa"
},
"geometry": {
"type": "Point",
"coordinates": [
6.0624,
52.54120000000001,
0
]
}
},
{
"type": "Feature",
"properties": {
"OBJECTID": 2626,
"id": "ZWL_4983451",
"label": "PZ006",
"timestamp_from": "2018-06-16T14:00:00.000Z",
"timestamp_to": "2018-06-16T15:00:00.000Z",
"value_NO2": 23.1,
"unit_NO2": "ug/m3",
"value_PM10": 21.27,
"unit_PM10": "ug/m3",
"value_RH": 35.21,
"unit_RH": "%",
"value_P": 1014,
"unit_P": "hPa"
},
"geometry": {
"type": "Point",
"coordinates": [
6.055100000000001,
52.53820000000002,
0
]
}
}]
Полный Geo JSON может быть доступен через:
response = requests.get('https://opendata.arcgis.com/datasets/97d710812a4a49369bd064b5be69fcd4_0.geojson')
js = json.loads(response.text)
Я хочу определить функцию, которая извлекает подмножество данных из Geo JSON и записывает их в массив данных. Функциональным входом должны быть метка датчика, период времени (от-до) и желаемое значение (PM10, NO2 и c.):
def jsonToDataFrame(label, timestamp_from, timestamp_to, unit):
, функция должна работать так, чтобы следующий вход :
jsonToDataFrame(PZ001, 2018-06-16T14:00:00.000Z, 2018-06-16T19:00:00.000Z, Value_PM10)
возвращает следующий фрейм данных:
Некоторое время я пытался получить нужный фрейм данных. Кто-нибудь знает как это решить?