您的位置:首页 > 数据库 > Mongodb

python读取mongoDB数据并存入本地excel表格

2020-04-24 07:49 1456 查看
[code]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()
  • 点赞
  • 收藏
  • 分享
  • 文章举报
xiabocs 发布了4 篇原创文章 · 获赞 0 · 访问量 1926 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: