У меня есть сложная база данных MongoDB, состоящая из документов, вложенных до 7 уровней. Мне нужно использовать PyMongo для извлечения данных, а затем преобразовать извлеченные данные в файл .csv.
Вы можете попробовать использовать json_normalize. Он используется для выравнивания json.Reads данных на фрейме данных, которые могут быть сохранены в CSV позже.
Например:
from pandas.io.json import json_normalize # mongo_value is your mongo query mongo_aggregate = db.events.aggregate(mongo_value) mongo_df = json_normalize(list(mongo_aggregate)) # print(mongo_df) mongo_columns = list(mongo_df.columns.values) #just picks the column_name instead of properties.something.something.column_name for w in range(len(mongo_columns)): mongo_columns[w] = mongo_columns[w].split('.')[-1].lower() mongo_df.columns = mongo_columns
Для справки прочитайте это https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.io.json.json_normalize.html