Извлечение данных из сложной базы данных MongoDB с использованием PyMongo и преобразование их в файл .csv - PullRequest
0 голосов
/ 02 июля 2018

У меня есть сложная база данных MongoDB, состоящая из документов, вложенных до 7 уровней. Мне нужно использовать PyMongo для извлечения данных, а затем преобразовать извлеченные данные в файл .csv.

1 Ответ

0 голосов
/ 02 июля 2018

Вы можете попробовать использовать 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

...