使用pymongo将MongoDB导出为CSV

use*_*846 8 mongodb pymongo

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

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

MyDataBase -> setting
              users
              fruits
Run Code Online (Sandbox Code Playgroud)

在设置我有类似的东西

setting -> _id
           data
           _tenant
Run Code Online (Sandbox Code Playgroud)

我所追求的是,​​用数据 中的个人资料制作一个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)
Run Code Online (Sandbox Code Playgroud)

这些字段/属性没有必要的所有字段,甚至其中一些是集合(带子分支),并将作为字典导入!所以,我必须将它们转换为列表,所有这一切,在这样的过程中很少有事情需要注意,并且看起来并不是那么简单!

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