Jag använder en funktion som denna för att få in kapslade JSON-linjer i en dataram. Den använder den praktiska 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
Skicka bara din mongodata genom att anropa funktionen med den som argument.
sanitized = json.loads(json_util.dumps(mongo_data)) laddar JSON-raderna som vanlig JSON
normalized = json_normalize(sanitized) tar bort data
df = pd.DataFrame(normalized) gör det helt enkelt till en dataram