繁体   English   中英

pymongo光标到Pandas数据框

[英]pymongo cursor to Pandas dataframes

我需要将mongodb游标转换为pandas数据框。 我想避免直接使用data = list(collection.find())来使用data = list(collection.find())但是它会耗尽内存,占用大量内存。 建议我为此使用列表的有效方法或替代解决方案。

我使用了一个列表来转换熊猫数据框。 它会耗尽内存并停止执行。

collection = db.get_collection('xxxyyyzzz')
data = collection.find()
for i in data:
   lst = pd.DataFrame(list.append(data))

我想将光标转换为数据框。

您可以使用yield来遍历光标。 在这里阅读更多 基本上, yield将一次处理一个项目,而不是将所有内容都保存在内存中。

def get_cursor():
    collection = db.get_collection('xxxyyyzzz')
    return collection.find()

def get_data_frames(cursor):
    for a_document in cursor:
        yield pd.DataFrame(list.append(data))

cursor = get_cursor()

for df in get_data_frames(cursor):
    // Do whatever

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM