我想从mongo集合中提取一些数据并进行处理,然后进行汇总。当前,集合中的大多数详细信息都存储为一个大型数组,该数组构成了一个用户个人资料,当我将其传递到数据框时,我想将这些值分开。
这是我当前的脚本-
'''
import pandas as pd
from pymongo import MongoClient
def _connect_mongo(host, port, username, password, db):
if username and password:
mongo_uri = 'mongodb://%s:%s@%s:%s/%s' % (username, password, host, port, db)
conn = MongoClient(mongo_uri)
else:
conn = MongoClient(host, port)
return conn[db]
def read_mongo(db, collection, query={}, host='localhost', port=27017, username=None, password=None, no_id=True):
if query is None:
query = {}
db = _connect_mongo(host=host, port=port, username=username, password=password, db=db)
cursor = db[collection].find(query)
df = pd.DataFrame(list(cursor))
if no_id and '_id' in df:
del df['_id']
return df
if __name__ == '__main__':
df = read_mongo('my_db', 'my_collection', {}, 'localhost', 27017)
df.to_csv('example.csv', index=True)
'''
数据帧的第一列是完整的10值数组。我正在尝试寻找一种方法将这些价值观分开。
对于任何缺乏细节的事,事先表示歉意。