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


Posted in Python onOctober 15, 2018

如下所示:

#!/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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
Python命令行解析模块详解
Feb 01 Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
详解Python中的分组函数groupby和itertools)
Jul 11 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
浅谈python函数调用返回两个或多个变量的方法
Jan 23 Python
python3中property使用方法详解
Apr 23 Python
python Django中models进行模糊查询的示例
Jul 18 Python
简述python Scrapy框架
Aug 17 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Django框架的中的setting.py文件说明详解
Oct 15 #Python
python得到电脑的开机时间方法
Oct 15 #Python
python得到单词模式的示例
Oct 15 #Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 #Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 #Python
Python 实现异步调用函数的示例讲解
Oct 14 #Python
python 异或加密字符串的实例
Oct 14 #Python
You might like
fgetcvs在linux的问题
2012/01/15 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
学习ExtJS Window常用方法
2009/10/07 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
JS的get和set使用示例
2014/02/20 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
python3实现读取chrome浏览器cookie
2016/06/19 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
numpy.array 操作使用简单总结
2019/11/08 Python
用Python进行websocket接口测试
2020/10/16 Python
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
施工人员岗位职责
2013/12/12 职场文书
出生医学证明书
2014/09/15 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
英文商务邀请函范文
2015/01/31 职场文书
Python+DeOldify实现老照片上色功能
2022/06/21 Python