使用 pymongo 将 MongoDB 导出为 CSV

问题描述 投票:0回答:1

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

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

MyDataBase -> setting
              users
              fruits

在设置中我有类似的东西

setting -> _id
           data
           _tenant

我要做的就是根据 data 中的配置文件制作一个 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)

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

这是进行此类报告的典型方式吗?如果没有的话,谁能说清楚吗?

mongodb pymongo
1个回答
0
投票

是的,我也在用同样的方法。 它清晰、快速,而且无需任何额外的库即可工作。

© www.soinside.com 2019 - 2024. All rights reserved.