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 相关文章推荐
跟老齐学Python之深入变量和引用对象
Sep 24 Python
为python设置socket代理的方法
Jan 14 Python
详解Python爬虫的基本写法
Jan 08 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
Python可迭代对象操作示例
May 07 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
python 的numpy库中的mean()函数用法介绍
Mar 03 Python
python如何删除列为空的行
Jul 17 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
Python 图片添加美颜效果
Apr 28 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
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
Python break语句详解
2014/03/11 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
python中for语句简单遍历数据的方法
2015/05/07 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python开启debug模式的方法
2019/06/27 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
python爬虫请求头的使用
2020/12/01 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
小学社团活动总结
2014/06/27 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书