使用pymongo将MongoDB导出为CSV

使用pymongo将MongoDB导出为CSV,mongodb,pymongo,Mongodb,Pymongo,我想写一个脚本,从我的mongoDB数据库生成一个CSV文件,我想知道最方便的版本 首先让我从集合的结构开始 MyDataBase -> setting users fruits 在场景中,我有一些类似于 setting -> _id data _tenant 我所追求的是,用数据中的配置文件制作一个CSV文件 它们有一些字段/属性,如“姓名”、“地址”、“邮政编码”、“电子邮件”

我想写一个脚本,从我的mongoDB数据库生成一个CSV文件,我想知道最方便的版本

首先让我从集合的结构开始

MyDataBase -> setting
              users
              fruits
在场景中,我有一些类似于

setting -> _id
           data
           _tenant
我所追求的是,用数据中的配置文件制作一个CSV文件 它们有一些字段/属性,如“姓名”、“地址”、“邮政编码”、“电子邮件”、“年龄”等,但并非必需。所有这些配置文件都有所有文件/属性,甚至其中一些看起来像收藏(有分支机构),我一点也不感兴趣

到目前为止,我的代码是python,如下所示

myquery = db.settings.find() # I am getting everything !
output = csv.writer(open('some.csv', 'wt')) # writng in this file

for items in myquery[0:10]: # first 11 entries
    a = list(items['data']['Profile'].values()) # collections are importent as dictionary and I am making them as list
    tt = list()
    for chiz in a:
        if chiz is not None:
            tt.append(chiz.encode('ascii', 'ignore')) #encoding
        else:
            tt.append("none")
    output.writerow(tt)
这些字段/属性没有必要的所有字段,甚至有些字段是集合(带有分支),将作为字典导入!所以,我必须将它们转换为列表和所有,在这样一个过程中需要注意的事情很少,而且在所有方面看起来并不那么简单


我的问题可能听起来很笼统,但这是一种典型的报告方式吗?!如果没有,你能有人说清楚吗

是的,我也用同样的方法。 它清晰快速,而且不需要任何额外的库就可以工作。

您试过了吗?它会将一个集合导出到CSV,可能会节省您使用自己工具的时间。好吧,我希望“mongoexport”也能在python中工作!或者有一些不错的IDE让mongodb能够使用csv/表格格式,比如更简单。有几种不同的,但“不错”是主观的,因为每个人都有不同的要求和偏好。您可能希望研究的一个横向选项是。例如,Jasper/是一个支持MongoDB的可视化报表设计器,可以导出为多种格式,包括CSV。