Je voudrais écrire un script pour générer un fichier CSV à partir de ma base de données mongoDB et je voudrais connaître la version la plus pratique!exporter MongoDB en CSV en utilisant pymongo
d'abord laissez-moi commencer par la structure des collections.
MyDataBase -> setting
users
fruits
dans l'établissement que j'ai quelque chose comme
setting -> _id
data
_tenant
et la chose que je suis après, fait un fichier CSV de profils données qu'ils ont des champs/propriétés comme « nom "," adresse "," postalcode "," email ", âge et etc. et non nécessaire tous ces profils ont tous les fichiers/propriétés et même certains d'entre eux ressemblent à collection (ont des sous-branches) qui ne m'intéresse pas du tout !
, mon code est python jusqu'à présent est ressembler à ces
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)
ces champs/propriétés dont ont neccessary tous les domaines, et aussi même certains d'entre eux sont collection (avec sous-branche) et sera importé comme dictionnaire! donc, je dois les convertir à la liste et tout, il y a assez peu de choses à prendre en charge dans un tel processus et dans tous ne semble pas si simple!
Ma question peut paraître très générale mais est-ce une façon typique de faire un tel rapport?! Si non, pouvez-vous le préciser?!
Avez-vous essayé [mongoexport] (http://www.mongodb.org/display/DOCS/mongoexport)? Il exportera une collection au format CSV et pourrait vous épargner l'effort de rouler votre propre outil. – Stennie
bien, je souhaite que "mongoexport" travaille aussi en python! ou il y avait un bon IDE pour mongodb pour pouvoir jouer avec le format csv/table comme, plus facile. – user702846
Il existe plusieurs [Admin UIs] (http://www.mongodb.org/display/DOCS/Admin+UIs), mais "nice" est subjectif car tout le monde a des exigences et des préférences différentes. Une option latérale que vous pourriez vouloir examiner est un [outil de reporting] (http://www.mongodb.org/display/DOCS/Business+Intelligence). Par exemple, Jasper/[iReport] (http://jasperforge.org/projects/ireport) est un concepteur de rapports visuel qui prend en charge MongoDB et peut exporter vers plusieurs formats, y compris CSV. – Stennie