美文网首页
Pandas读取MongoDB数据

Pandas读取MongoDB数据

作者: MayerBin | 来源:发表于2019-08-16 23:37 被阅读0次

链接:https://ask.hellobi.com/blog/zmister/10454

之前介绍了在Pandas中读取MongoDB数据的方法,在索引出数据之后,将结果转换为列表list,然后在传入一个pandas的DataFrame中。

import pymongo
import pandas as pd 
# 设置MongoDB连接信息
client = pymongo.MongoClient('localhost',27017)
cn_78 = client['cn_78']
project_info =cn_78['project_info']
 data = pd.DataFrame(list(project_info.find()))
# 删除mongodb中的_id字段del data['_id']#
 选择需要显示的字段data = data[['aear','cate','subcate','name','maxmoney','minmoney','time']]
print(data)
image.png

这种方法很简单,但是有一个问题,就是在数据量大的时候,会大量的占用内存以及耗费时间,如果在内存不大的单机上进行操作,可能因为内存而导致主机崩溃。所以只适合少量数据下的使用。

今天介绍一个适合大量数据的方法,没有使用list列表转换来得方便,但是快速以及占用机器内存小。

第一步,编写好查询语句:

import pymongo
import pandas as pd
import csv 

df = data.find(       
 {           
       'pay_time'{'$regex':'2014-.*'},            
        'shop_name':'官方旗舰店',            
        'status':'已确认',           
        '$or':[ {'pro_name':{'$regex':'.*特价.*'}},{'pro_name':{'$regex':'.*促销.*'}},{'pro_name':{'$regex':'.*优惠.*'}}]        
},       
 {            
        '_id':0,        
}    
) 
image.png

第二步,新建一个csv文件,遍历mongoDB的查询,并写入csv文件中:

with open('data.csv','w',encoding='utf-8',newline='') as files:   
 csvfiles = csv.DictWriter(files,fieldnames=['pay_time','send_num'])   
 csvfiles.writeheader()    
n = 1   
 for i in df:    
# print(i)        
      print('第{0}条'.format(n))        
csvfiles.writerow({'pay_time':i['pay_time'],'send_num':i['send_num']})        n += 1
image.png

第三步,使用pandas进行读取

使用pandas读取csv文件直接使用read_csv()方法即可。

12data = pd.read_csv('data.csv') 

或是留作他用。

虽然需要进行三个步骤,但是在查询数据量大的情况下,所消耗的时间并不比直接进行list转换要多,多数情况下,都会很快的完成查询和写入。

最后,记得关闭数据库:

12db.close() 

养成好习惯。

相关文章

  • Pandas读取MongoDB数据

    链接:https://ask.hellobi.com/blog/zmister/10454 之前介绍了在Panda...

  • 使用Python进行数据标准化

    读取数据 首先,加载pandas和numpy库,读取数据。 import pandas as pd i...

  • 使用Python进行数据标准化

    读取数据 首先,加载pandas和numpy库,读取数据。 import pandas as pd i...

  • pandas常用操作

    pandas读取数据: pandas查看数据: pandas删除行、列: pandas排序: pandas合并列表...

  • 02. Pandas读取数据

    02. Pandas读取数据 本代码演示:pandas读取纯文本文件读取csv文件读取txt文件pandas读取x...

  • Pandas 数据读取

    1.数据读取 1.1Pandas 可以读取以下类型的数据: import pandas as pd #导入pand...

  • Mongdb读取股票数据到Pandas分析

    Mongdb读取股票数据到Pandas分析 前言 接上一步将股票历史数据存储到Mongodb之后,接下来这部就是读...

  • 数据分析-pandas从数据库读取数据

    数据分析-pandas从数据库读取数据 使用pandas读取数据到DataFrame,对于只是数据分析来说,重点是...

  • 尝尝pandas(6)

    今天我们将通过学习pandas读取和写入数据来结束pandas的学习。pandas可以读取的数据类型有很多种,在这...

  • python简单应用

    一、准备数据导入 pandas 库,读取 elsx 文件数据import pandas as pdimport n...

网友评论

      本文标题:Pandas读取MongoDB数据

      本文链接:https://www.haomeiwen.com/subject/gwicsctx.html