0
私はCSVに変換する必要がある入れ子JSONを持っています。私は最初、単純なJSONに取り組み、それを変換することができました。しかし、これには複雑なネストされたオブジェクトがいくつかあります。以下は、JSONです:Pythonを使用して複合ネストJSONをCSVまたはExcelに変換する
{
"next": "https://api.pro.live/api/v1.0/publisher/pages?api_key=ujwq8aW7MOZ6y40nXhrrqW0OxnIvNJnFzpWOcJaSWHc&format=json&page_number=2",
"next_page": 2,
"previous": null,
"previous_page": null,
"count": 8888,
"data": [{
"id": "294225",
"publisher_id": "here",
"name": "Company Page",
"publisher_page_id": "",
"publisher_page_url": "",
"state": "active",
"state_description": "",
"crawled_at": null,
"updated_at": null,
"location": {
"id": "163238",
"name": "Buffard Fabrice",
"address": {
"address_line1": "Allée de l'Abron",
"address_line2": "",
"house_number": "5",
"city": "Gennetines",
"zip_code": "03400",
"sublocality": "",
"state": "",
"country": "FR",
"coordinates": {
"latitude": 46.6376484,
"longitude": 3.4076838
}
},
"phones": [{
"type": "main",
"number": "0470421022",
"country_code": ""
}, {
"type": "mobile",
"number": "0662241230",
"country_code": ""
}],
"urls": [{
"type": "website",
"url": "http://www.fabrice-buffard.fr",
"description": "",
"display_url": ""
}],
"emails": [{
"email": "[email protected]",
"type": "contact",
"description": ""
}],
"closed": false,
"opening_hours": {
"periods": [{
"open_day": "MONDAY",
"open_time": "14:00",
"close_day": "MONDAY",
"close_time": "19:00"
}, {
"open_day": "TUESDAY",
"open_time": "10:00",
"close_day": "TUESDAY",
"close_time": "12:30"
}, {
"open_day": "TUESDAY",
"open_time": "14:00",
"close_day": "TUESDAY",
"close_time": "19:00"
}, {
"open_day": "WEDNESDAY",
"open_time": "10:00",
"close_day": "WEDNESDAY",
"close_time": "12:30"
}, {
"open_day": "WEDNESDAY",
"open_time": "14:00",
"close_day": "WEDNESDAY",
"close_time": "19:00"
}, {
"open_day": "THURSDAY",
"open_time": "10:00",
"close_day": "THURSDAY",
"close_time": "12:30"
}, {
"open_day": "THURSDAY",
"open_time": "14:00",
"close_day": "THURSDAY",
"close_time": "19:00"
}, {
"open_day": "FRIDAY",
"open_time": "10:00",
"close_day": "FRIDAY",
"close_time": "12:30"
}, {
"open_day": "FRIDAY",
"open_time": "14:00",
"close_day": "FRIDAY",
"close_time": "19:00"
}, {
"open_day": "SATURDAY",
"open_time": "10:00",
"close_day": "SATURDAY",
"close_time": "12:30"
}]
},
"specific_opening_hours": [],
"publisher_categories": [{
"name": "Photographer",
"id": "gcid:photographer"
}]
}
}]
}
私は上記のJSONからオブジェクトの数を抽出することができたが、それは複雑な入れ子構造に来るとき、それは困難になります。私は一般的なコンバータを開発するために助けが必要です。そのため、ある構造がフィールドを逃した場合、それは私にエラーを投げるべきではありません。以下は
一つの構造がフィールドをミスするとき、あなたの助けを事前に
x["data"][numbers]["id"],
x["data"][numbers]["publisher_id"],
x["data"][numbers]["name"],
x["data"][numbers]["publisher_page_id"],
x["data"][numbers]["publisher_page_url"],
x["data"][numbers]["state"],
x["data"][numbers]["state_description"],
x["data"][numbers]["crawled_at"],
x["data"][numbers]["updated_at"]
おかげで、私は個別に各オブジェクトを抽出したが動作しません、私のコードの一部です!