如何用python查询mongodb数据库中的数据并写入excle

如何用python查询mongodb数据库中的数据并写入excle

client = pymongo.MongoClient('localhost',27017)
mydb = client['Pro_chinaventure']
test = mydb['2020-2021']
for x in test.find({'投资案例':{'$regex':'小鹏汽车'}},{'_id':0}):

上面是用python查询mongodb数据库中的数据,请问下面如何写入excle

from openpyxl import Workbook
import pymongo
 
 
# 读取mongoDB数据库相应的表,每条数据取出数个字段存入一个dict,再将所有的dict存入一个list
def read_mongoDB():
    # 连接mongoDB数据库,读取 db 库 table 表中的数据
    client = pymongo.MongoClient('127.0.0.1', 27017)
    db = client['db']
    db.authenticate("admin", "pw")
    table = db['table']
 
    # 创建list用于存储从mongoDB中读取到的数据
    mongo_data_list = []
    # 从table中读取的数据为整个documents内容
    documents = table.find()
    # 遍历 documents 表中的每一个document
    for document in documents:
        # 创建dict用于存储各条数据的各个字段名称及内容
        mongo_data_dict = {}
        id_ = document.get("_id")
        name = document.get("name")
        age = document.get("age")
        # 将查询到的的数据字段内容以更新添加的方式添加到每个dict中
        mongo_data_dict.update({"id": id_})
        mongo_data_dict.update({"name": name})
        mongo_data_dict.update({"age": age})
        print("mongo_data_dict:", mongo_data_dict)
        mongo_data_list.append(mongo_data_dict)
    return mongo_data_list
 
 
# 保存至本地excel表格
def save_to_excel(mongoDB_data):
    outwb = Workbook()
    outws = outwb.worksheets[0]
    # 遍历外层列表
    for new_dict in mongoDB_data:
        a_list = []
        # 遍历内层每一个字典dict,把dict每一个值存入list
        for item in new_dict.values():
            a_list.append(item)
        # sheet直接append list即可
        outws.append(a_list)
 
    outwb.save(r'/Desktop/mongoDB数据.xlsx')
    print('数据存入excel成功')
 
 
def main():
    mongoDB_data = read_mongoDB()
    # print(mongoDB_data)
    save_to_excel(mongoDB_data)
 
 
if __name__ == '__main__':
    main()