我有一个复杂的MongoDB数据库,其中包含嵌套多达7个级别的文档。我需要使用PyMongo提取数据,然后将提取的数据转换为.csv文件。
答案 0 :(得分:1)
您可以尝试使用json_normalize。 它用于展平json。将数据读取到一个数据帧中,以后可以存储在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