Python 中使用MongoDB存储数据,若需要导出数据到文件,可以使用pandas或xlwings导出到Excel(.xls和.csv)文件。本文主要介绍Python 中导出保存MongoDB上数据到Excel(.xls和.csv)文件的方法,以及相关的示例代码。

1、安装引用pymongo

Python中连接使用MongoDB,需要安装引用pymongo模块,如下,

pip install pymongo

2、使用pandas导出

Python中使用pandas导出MongoDB中数据到Excel文件,代码如下,

import pandas as pd
import pymongo

# 连接mongodb数据库
client = pymongo.MongoClient("localhost")
# 连接数据库
db = client["cjavapy"]
#验证帐号密码
#db.authenticate(settings.MONGODB_DBUSERNAME, settings.MONGODB_DBPASSWD, mechanism='SCRAM-SHA-1')

# 数据表
users = db["Users"]
# 将mongodb中的数据读出
data = pd.DataFrame(list(users.find()))

# 保存为csv格式
data.to_csv('data.csv', encoding='utf-8')
# 保存为xls格式
data.to_excel('data.xls', encoding='utf-8')

3、使用xlwings导出

Python中使用xlwings导出MongoDB中数据到Excel文件,代码如下,

import xlwings as xw
import pymongo


# 连接mongodb数据库
client = pymongo.MongoClient("localhost")
# 连接数据库
db = client["cjavapy"]
#验证帐号密码
#db.authenticate(settings.MONGODB_DBUSERNAME, settings.MONGODB_DBPASSWD, mechanism='SCRAM-SHA-1') 
# 数据表
users = db["Users"]
# 将mongodb中的数据读出
data = list(users.find())
dataArr = []
for i in data:
    filmArr.append([  # ^ 不用 list() 因为给定了八个参数,list只要一个
        i['userName'],
        i['passWord'],
        i['address'],
        i['time'],
        i['release'],
        i['desc'],
        i['order']
    ])
# ^ excel
wb = xw.Book()
sht = wb.sheets['sheet1']
sht.range('A1').value = ['用户名', '密码', '地址', '时间', '描述', '排序']
sht.range('A2').value = dataArr
wb.save(path+'/data.xlsx')

推荐文档