ich mit einer JSON-Antwort arbeite, die wie ein viele verschachtelte Wörterbuch unten formatiert ist:Python Flatten Multiply Nested Wörterbuch JSON mit Pandas
{u'addresses': [],
u'application_ids': [20855193],
u'applications': [{u'answers': [{u'answer': u'Indeed ',
u'question': u'How did you hear?'}],
u'applied_at': u'2015-10-29T22:19:04.925Z',
u'candidate_id': 9999999,
u'credited_to': None,
u'current_stage': {u'id': 9999999,
u'name': u'Application Review'},
u'id': 9999999,
u'jobs': [{u'id': 9999999,u'name': u'ENGINEER'}],
u'last_activity_at': u'2015-10-29T22:19:04.767Z',
u'prospect': False,
u'rejected_at': None,
u'rejection_details': None,
u'rejection_reason': None,
u'source': {u'id': 7, u'public_name': u'Indeed'},
u'status': u'active'}],
u'attachments': [{u'filename': u'Jason_Bourne.pdf',
u'type': u'resume',
u'url': u'https://resumeURL'}],
u'company': None,
u'coordinator': {u'employee_id': None,
u'id': 9999999,
u'name': u'Batman_Robin'},
u'email_addresses': [{u'type': u'personal',
u'value': u'[email protected]'}],
u'first_name': u'Jason',
u'id': 9999999,
u'last_activity': u'2015-10-29T22:19:04.767Z',
u'last_name': u'Bourne',
u'website_addresses': []}
ich die JSON in eine Tabelle zu glätten bin versucht und haben das gefunden folgendes Beispiel auf der Pandas Dokumentation:.
http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.io.json.json_normalize.html
von dem, was ich verstehe, die „record_path“ Parameter den Pfad des untersten Ebene Eintrags geben Sie interessiert sind die „record_path“ Parameter können nur ein String oder li Strings. Aber um die 'Antworten' Datensätze in meinen Daten oben zu nennen, muss ich die Strings und Indizes wie folgt angeben;
answer = data['applications'][0]['answers']['answer']
question = data['applications'][0]['answers']['question']
Wie kann ich die obigen Aufzeichnungspfade als Parameter für die Funktion json_normalize eingeben?
Danke!
, das funktioniert! Danke :) –
Jetzt versuche ich dasselbe für den "Namen" unter "current_stage" zu tun. wenn ich tippe 'df = json_normalize (d, ['applications', ['current_stage', 'name']]' ' Ich bekomme jeden Buchstaben von" Application Review "in einer eigenen Zeile? –
Sie können 'df = json_normalize (d ['applications'] [0] ['current_stage'])' verwenden, ich versuche viele Möglichkeiten und leider ohne Erfolg. Das Hauptproblem ist '[]' fehlen in '{u'id ': 9999999, u'name': u'Application Review '}' wie '[{u'id': 9999999, u'name ': u 'Application Review'}] ' – jezrael