MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Abrufen verschachtelter Daten aus MongoDB in einen Pandas-Datenrahmen

Ich verwende eine Funktion wie diese, um verschachtelte JSON-Zeilen in einen Datenrahmen zu bekommen. Es verwendet das praktische 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

Übergeben Sie einfach Ihre Mongo-Daten, indem Sie die Funktion mit ihnen als Argument aufrufen.

sanitized = json.loads(json_util.dumps(mongo_data)) lädt die JSON-Zeilen als normales JSON

normalized = json_normalize(sanitized) entschachtelt die Daten

df = pd.DataFrame(normalized) verwandelt es einfach in einen Datenrahmen