Python访问MongoDB,并且转换成Dataframe的方法
作者:宝山方圆 发布时间:2022-07-18 20:32:07
标签: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. 解决了中文乱码问题。
来源:https://www.cnblogs.com/zhzhang/p/9305920.html


猜你喜欢
- 安装 Tesseract OCRTesseract OCR 是一款由 Google 团队开发的开源 OCR(Optical Characte
- 本文实例讲述了Python zip()函数用法。分享给大家供大家参考,具体如下:这里介绍python中zip()函数的使用:>>
- 一、SQLAlchemy简介1.1、SQLAlchemy是什么?sqlalchemy是一个python语言实现的的针对关系型数据库的orm库
- 一、re.findall函数介绍它在re.py中有定义:def findall(pattern, string, flags=0): &nb
- 本文实例讲述了Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法。分享给大家供大家参考,具体如下:1. 定义类python
- 安装cuda更新nvidia驱动打开GeForce Game Ready Driver或在GeForce Experience中下载符合自己
- SQLite3数据库的介绍和使用(面向业务编程-数据库)SQLite3介绍SQLite是一种用C语言实现的的SQL数据库它的特点有:轻量级、
- 1.Mysql中的数据类型varchar 动态字符串类型(最长255位),可以根据实际长度来动态分配空间,例如:varchar(100)ch
- 1.私有属性和私有方法封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交
- 本文为大家分享了python链表的基础概念和基础用法,供大家参考,具体内容如下一、什么是链表链表是由多个不同的节点组成,每个节点通过指针区域
- amend翻译成中文:修改1.修改还未push的提交//修改最近一次提交git commit --amend//进入注释页面,进行修改//修
- 前言Python 3.7 将于今年夏天发布,Python 3.7 中将会有许多新东西:各种字符集的改进对注释的推迟评估以及对dataclas
- 本文实例为大家分享了python定义带参数装饰器的具体代码,供大家参考,具体内容如下案例: &
- 不知不觉大半年没更新了...前面小二介绍过使用Typora+MinIO+Java代码打造舒适写作环境,然后有很多大佬啊,说用Java来实现简
- 我就废话不多说了,直接上代码吧!其实也不难,使用tertools.chain将参数链接起来即可import itertools...self
- 发现pyautocad模块:可以用python控制autocad的包。今天把文档中的重点内容摘录出来,以后绘图、计算大工程量、或者识别施工图
- 1、权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连接服务器A以进行数据库操作,需要服务器A赋予主机B操作mysql
- 再写入数据库对时间进行加减操作时候django报告了错误TypeError: can't subtract offset-naive
- 今天我们分享一个小案例,获取天气数据,进行可视化分析,带你直观了解天气情况!核心功能设计总体来说,我们需要先对中国天气网中的天气数据进行爬取
- 本篇博客参考:1)DEM generation from laser scanner data using adaptive TIN mod