2012-09-17 9 views
7

mongoDBデータベースからCSVファイルを生成するスクリプトを作成したいと思いますが、最も便利なバージョンを知りたいです!pongongoを使用してMongoDBをCSVにエクスポート

最初にコレクションの構造から始めましょう。私は

setting -> _id 
      data 
      _tenant 

のようなものと私は後だものを持っている設定で

MyDataBase -> setting 
       users 
       fruits 

、CSVは、彼らが名前」のようないくつかのフィールド/プロパティを持っているデータ 内のプロファイルの外にファイルを作っています"アドレス"、 "郵便番号"、 "電子メール"、年齢など、これらのプロファイルのすべてが必要なすべてのファイル/プロパティを持っていなくても、私の興味がないコレクション(サブブランチを持っている)まったく!

ので、私のコードは、これまでのpythonでこれらのフィールド/プロパティはneccessaryすべてのフィールドを持っていけない、とさえもそれらのいくつかは、(サブブランチで)収集しているとされますこれらの

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

あなたは[mongoexport](http://www.mongodb.org/display/DOCS/mongoexport)を試しましたか?コレクションをCSV形式にエクスポートし、独自のツールを使用する手間を省くことができます。 – Stennie

+0

まあ、 "mongoexport"がPythonでも動いてくれたらと思います!またはcsv/table形式で簡単に再生できるmongodb用の素敵なIDEがありました。 – user702846

+0

いくつかの異なる[Admin UIs](http://www.mongodb.org/display/DOCS/Admin+UIs)がありますが、誰もが異なる要件と好みを持っているので、「nice」は主観的です。調査したいと思う横方向のオプションは、[報告ツール](http://www.mongodb.org/display/DOCS/Business+Intelligence)です。たとえば、Jasper/[iReport](http://jasperforge.org/projects/ireport)は、MongoDBをサポートし、CSVを含む複数の形式にエクスポートできる視覚的なレポートデザイナーです。 – Stennie

答えて

1

はい、私は同じ方法を使用しています。 それは明確かつ高速であり、追加のライブラリなしでも動作します。

関連する問題