Me gustaría escribir un script para generar un archivo CSV desde mi base de datos mongoDB y me gustaría saber la versión más conveniente.exportando MongoDB a CSV usando pymongo
primero permítanme comenzar con la estructura de las colecciones.
MyDataBase -> setting
users
fruits
en el establecimiento tengo algo así como
setting -> _id
data
_tenant
y lo que busco, es hacer un archivo CSV de perfiles en datos que tienen algunos campos/propiedades como "nombre "," dirección "," código postal "," correo electrónico ", edad y etc. y no necesariamente todos estos perfiles tienen todos los archivos/propiedades e incluso algunos de ellos se parecen a la colección (tienen subdirecciones) que no me interesan en absoluto !
así, mi código es pitón hasta ahora se verá como estos
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)
estos campos/propiedades no tienen neccessary todos los campos, y también incluso algunos de ellos son de recogida (con sub-rama) y será importado como diccionario! entonces, tengo que convertirlos a una lista y, en general, hay muy pocas cosas que cuidar en un proceso así y, en general, ¡no se ve tan sencillo!
Mi pregunta puede sonar muy general, pero ¿es una forma típica de hacer ese informe? si no, ¿alguien puede aclararlo?
¿Has probado [mongoexport] (http://www.mongodb.org/display/DOCS/mongoexport)? Exportará una colección a CSV y puede ahorrarte el esfuerzo de rodar tu propia herramienta. – Stennie
bueno, ¡desearía que "mongoexport" también funcionara en Python! o había algún buen IDE para que mongodb pudiera jugar con formato csv/table, más fácil. – user702846
Existen varias [UI de administrador] (http://www.mongodb.org/display/DOCS/Admin+UIs), pero "agradable" es subjetivo ya que cada persona tiene diferentes requisitos y preferencias. Una opción lateral que quizás desee considerar es una [herramienta de informe] (http://www.mongodb.org/display/DOCS/Business+Intelligence). Por ejemplo, Jasper/[iReport] (http://jasperforge.org/projects/ireport) es un diseñador de informes visuales que admite MongoDB y puede exportar a múltiples formatos, incluido CSV. – Stennie