7
我想寫一個腳本來從我的mongoDB數據庫生成一個CSV文件,我想知道最方便的版本!使用pymongo將MongoDB導出爲CSV
首先讓我從集合的結構開始。
MyDataBase -> setting
users
fruits
在制定
我有類似
setting -> _id
data
_tenant
,我以後的事情,就是讓一個CSV文件進行配置文件的數據 他們有一些字段/屬性,如「名「,」地址「,」郵政編碼「,」電子郵件「,年齡等,而不是必需的所有這些配置文件都具有所有文件/屬性,甚至其中一些看起來像我不感興趣的集合(有子分支)根本!
所以,我的代碼是蟒蛇到目前爲止是像這些
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)
這些字段/屬性不具有neccessary各個領域,甚至還可以有些是集合(與支行),並會導入爲字典!所以,我必須將它們轉換爲列表,總之,在這樣的過程中有很少的事情需要注意,並且看起來並不那麼直截了當!
我的問題可能聽起來很普遍,但它是製作此類報告的典型方法嗎?!如果不是的話,你可以說清楚嗎?!
你有沒有試過[mongoexport](http://www.mongodb.org/display/DOCS/mongoexport)?它會將收藏集導出爲CSV格式,並且可以爲您節省滾動自己的工具的工作量。 – Stennie
好吧,我希望「mongoexport」也在python中工作!或者有一些不錯的IDE讓mongodb能夠像csv/table格式一樣使用,更簡單。 – user702846
有幾種不同的[Admin UI](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