Jeg bruger en funktion som denne til at få indlejrede JSON-linjer ind i en dataramme. Den bruger den praktiske pandas json.normalize
funktion:
import pandas as pd
from bson import json_util, ObjectId
from pandas.io.json import json_normalize
import json
def mongo_to_dataframe(mongo_data):
sanitized = json.loads(json_util.dumps(mongo_data))
normalized = json_normalize(sanitized)
df = pd.DataFrame(normalized)
return df
Send blot dine mongodata ved at kalde funktionen med det som argument.
sanitized = json.loads(json_util.dumps(mongo_data))
indlæser JSON-linjerne som almindelig JSON
normalized = json_normalize(sanitized)
fjerner dataene
df = pd.DataFrame(normalized)
gør det blot til en dataramme