首先定义mongodb存储类
class MongoBase:
def __init__(self,collection):
self.collection=collection#需要传参写入对应库名的集合名,集合名不需要提前定义
self.OpenDB()
def OpenDB(self):
self.con = MongoClient('localhost',27017)
self.db=self.con['test']#这个是要操作的库名
self.collection=self.db[self.collection]
def closeDB(self):
self.con.close()
把dataframe对象写入mongodb
df_test = pd.DataFrame(np.random.randn(4, 5), columns=list('abcde'))
Df_Mongo = MongoBase('Df_Mongo')
Df_Mongo.collection.insert_many(json.loads(df_test.T.to_json()).values())
Df_Mongo.closeDB()
其实就是把转置的dataframe对象转换为大的json快,使用insert_many多条写入。