JSON-gegevens transformeren
De kans is groot dat je, wanneer je gegevens uit JSON-indeling in een dictionary inleest, eerst handmatig wat transformaties moet toepassen voordat je ze in een DataFrame kunt opslaan. Dit komt vaak voor bij geneste dictionaries, wat je in deze oefening gaat verkennen.
Het bestand "nested_school_scores.json" is ingelezen in een dictionary die beschikbaar is als de variabele raw_testing_scores, met de volgende structuur:
{
"01M539": {
"street_address": "111 Columbia Street",
"city": "Manhattan",
"scores": {
"math": 657,
"reading": 601,
"writing": 601
}
}, ...
}
Deze oefening maakt deel uit van de cursus
ETL en ELT in Python
Oefeninstructies
- Loop door zowel de sleutels als de waarden van de dictionary
raw_testing_scores. - Haal de
"street_address"op uit elke dictionary die genest is in hetraw_testing_scores-object.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
normalized_testing_scores = []
# Loop through each of the dictionary key-value pairs
for school_id, school_info in raw_testing_scores.____():
normalized_testing_scores.append([
school_id,
school_info.____("____"), # Pull the "street_address"
school_info.get("city"),
school_info.get("scores").get("math", 0),
school_info.get("scores").get("reading", 0),
school_info.get("scores").get("writing", 0),
])
print(normalized_testing_scores)