Пример JSON
{
"tickets": [
{
"url": "https://domain.zendesk.com/api/v2/tickets/10001.json",
"id": 10001,
"custom_fields": [
{
"id": 360007982393,
"value": "Some Value"
},
{
"id": 360008063134,
"value": "Foo"
},
{
"id": 360007982273,
"value": "Bar"
},
{
"id": 360007982293,
"value": null
}
],
"satisfaction_rating": null
},
{
"url": "https://domain.zendesk.com/api/v2/tickets/10002.json",
"id": 10002,
"custom_fields": [
{
"id": 360007982393,
"value": "Another value"
},
{
"id": 360008063134,
"value": "Bar"
},
{
"id": 360007982273,
"value": "Foo"
},
{
"id": 360007982293,
"value": null
}
],
"satisfaction_rating": null
}
],
"count": 2,
"next_page": "https://domain.zendesk.com/api/v2/incremental/tickets.json?start_time=1541167467",
"end_time": 1541167467
}
Образец Python
json = << Above JSON >>
tickets_json = json['tickets']
result = json_normalize(data=tickets_json, sep='_')
df=pd.DataFrame(result)
Описание запроса
Итак, с учетом вышесказанного, я получаю кадр данных, который выглядит так:
url, id, настраиваемые поля, рейтинг удовлетворенности
Custom_Fields - вот где я борюсь, так как мне нужно получить:
url, id, custom_fields_360007982393, custom_fields_360008063134, custom_fields_360007982273, custom_fields_360007982293, рейтинг удовлетворенности
Или аналогично приведенному выше, поскольку для эффективного использования мне нужны идентификаторы из пользовательских значений, чтобы разделить или стать именами столбцов в основном фрейме данных.
Я пытался использовать record_path с мета, но это переворачивает фрейм данных в непригодный формат для того, чего я пытаюсь достичь здесь. Я попытался вытащить custom_fields и затем добавить его обратно, но все, что я смог найти, это просто указать случайное число в качестве имени столбца, а затем просто иметь тот же идентификатор, пару значений в качестве значения в каждой строке.
Эти данные будут импортированы в MySQL и использованы для отчета о значениях по идентификатору. По большей части custom_fields находятся в том же порядке, однако я не могу быть уверен, что они останутся такими навсегда.
JSON происходит от API ZenDesk (https://developer.zendesk.com/rest_api)
Выходная цель:
url, id, 360007982393, 360008063134, 360007982273, 360007982293, satisfaction_rating
"https:.." , 10001, "Some Value", "Foo", "Bar", null, null
"https:.." , 10002, "Another value", "Bar", "Foo", null, null