使用pymongo将MongoDB导出为CSV

时间:2012-09-17 11:19:54

标签: mongodb pymongo

我想编写一个脚本来从我的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)

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

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

1 个答案:

答案 0 :(得分:1)

是的,我的使用方式相同。 它清晰而快速,也可以在没有任何其他库的情况下工作。