blu*_*hip 8 python pymongo pandas
我有一个0.7 GB的MongoDB数据库,其中包含我正在尝试加载到数据帧中的推文.但是,我收到一个错误.
MemoryError:
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
cursor = tweets.find() #Where tweets is my collection
tweet_fields = ['id']
result = DataFrame(list(cursor), columns = tweet_fields)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下答案中的方法,在某些时候,在加载之前创建数据库的所有元素的列表.
然而,在另一个讨论list()的答案中,该人说它对小数据集有好处,因为所有内容都被加载到内存中.
就我而言,我认为这是错误的根源.这是太多的数据加载到内存中.我还可以使用其他什么方法?
我已将代码修改为以下内容:
cursor = tweets.find(fields=['id'])
tweet_fields = ['id']
result = DataFrame(list(cursor), columns = tweet_fields)
Run Code Online (Sandbox Code Playgroud)
通过在find()函数中添加fields参数,我限制了输出.这意味着我没有加载每个字段,只将所选字段加载到DataFrame中.现在一切都很好.
| 归档时间: |
|
| 查看次数: |
11994 次 |
| 最近记录: |