Python访问MongoDB,并且转换成Dataframe的方法

 更新时间:2018年10月15日 09:26:29   作者:宝山方圆  
今天小编就为大家分享一篇Python访问MongoDB,并且转换成Dataframe的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/7/13 11:10
# @Author : baoshan
# @Site : 
# @File : pandans_pymongo.py
# @Software: PyCharm Community Edition

import pymongo
import pandas as pd


def _connect_mongo(host, port, username, password, db):
 """ A util for making a connection to mongo. """
 if username and password:
  mongo_uri = "mongodb://%s:%s@%s:%s/%s" % (username, password, host, port, db)
  conn = pymongo.MongoClient(mongo_uri)
 else:
  conn = pymongo.MongoClient(host, port)

 return conn[db]


def read_mongo(db, collection, query={}, host='test43', port=27017, username=None, password=None, no_id=True):
 """ Read from Mongo and Store into DataFrame. """

 # Connect to MongoDB
 db = _connect_mongo(host=host, port=port, username=username, password=password, db=db)

 # Make a query to the specific DB and Collection
 cursor = db[collection].find(query).limit(10)

 # Expand the cursor and construct the DataFrame
 df = pd.DataFrame(list(cursor))
 df.to_csv("abc.csv", encoding="utf_8_sig") # 处理中文乱码问题

 if no_id:
  del df['_id']

 return df


read_mongo(db='service', collection='trace_log_regular', query={}, host='xxx', port=27017, username="xxx", password="xxx")

小结:

1. 解决了pymongo访问MongoDB的问题

2. 解决了查询的数据转成dataframe的问题

3. 解决了dataframe写入到csv的问题

4. 解决了中文乱码问题。

以上这篇Python访问MongoDB,并且转换成Dataframe的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python可视化神器pyecharts绘制饼状图

    Python可视化神器pyecharts绘制饼状图

    这篇文章主要介绍了Python可视化神器pyecharts绘制饼状图,饼图是用圆形及圆内扇形的角度来表示数值大小的图形,它主要用于表示一个样本中各组成部分的数据占全部数据的比例
    2022-07-07
  • 基于Python实现音乐播放器的实现示例代码

    基于Python实现音乐播放器的实现示例代码

    这篇文章主要介绍了如何利用Python编写简易的音乐播放器,文中的示例代码讲解详细,具有一的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • python获取list下标及其值的简单方法

    python获取list下标及其值的简单方法

    下面小编就为大家带来一篇python获取list下标及其值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Python内置类型性能分析过程实例

    Python内置类型性能分析过程实例

    这篇文章主要介绍了Python内置类型性能分析过程实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python优化算法之遗传算法案例代码

    Python优化算法之遗传算法案例代码

    优化算法,尤其是启发式的仿生智能算法在最近很火,它适用于解决管理学,运筹学,统计学里面的一些优化问题,这篇文章主要介绍了Python优化算法—遗传算法,需要的朋友可以参考下
    2023-02-02
  • Python算术运算符实例详解

    Python算术运算符实例详解

    这篇文章主要介绍了Python算术运算符实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Django 用户登陆访问限制实例 @login_required

    Django 用户登陆访问限制实例 @login_required

    这篇文章主要介绍了Django 用户登陆访问限制实例 @login_required,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python排序算法快速排序VS归并排序深入对比分析

    Python排序算法快速排序VS归并排序深入对比分析

    快速排序和归并排序是两种常见的排序算法,在Python中有着重要的应用,本文将深入探讨这两种算法的原理和实现,并提供丰富的示例代码来说明它们的工作方式
    2024-01-01
  • Python爬虫获取基金基本信息

    Python爬虫获取基金基本信息

    这篇文章主要介绍了Python爬虫获取基金基本信息,文章基于上一篇文章内容基于python的相关资料展开主题,需要的小伙伴可以参考一下
    2022-05-05
  • 详细解读tornado协程(coroutine)原理

    详细解读tornado协程(coroutine)原理

    这篇文章主要介绍了详细解读tornado协程(coroutine)原理,涉及协程定义,生成器和yield语义,Future对象,ioloop对象,函数装饰器coroutine等相关内容,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论