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

作者:宝山方圆 时间:2022-07-18 20:32:07 

如下所示:


#!/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

标签:Python,MongoDB,Dataframe
0
投稿

猜你喜欢

  • java连接Access数据库的方法

    2024-01-14 13:41:17
  • 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)

    2024-01-21 23:55:50
  • python批量下载抖音视频

    2023-09-05 11:26:14
  • XPath 11个实例

    2008-09-05 15:06:00
  • SQL2005 高效分页sql语句

    2024-01-17 13:23:22
  • python 使用百度AI接口进行人脸对比的步骤

    2021-07-06 02:20:06
  • 趣味Python实战练习之自动更换桌面壁纸脚本附源码

    2021-11-03 09:12:33
  • SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

    2012-07-11 15:59:36
  • 教你用Python下载抖音无水印视频

    2022-11-18 06:08:42
  • 基于JavaScript实现单选框下拉菜单添加文件效果

    2023-07-15 08:46:33
  • MYSQL初学者命令行使用指南

    2024-01-15 08:46:33
  • python人工智能tensorflow函数tf.layers.dense使用方法

    2022-03-09 21:52:34
  • Pycharm使用时会出现的问题之cv2无法安装解决

    2022-12-26 06:24:49
  • Django怎么在admin后台注册数据库表

    2024-01-26 03:12:50
  • pytorch 优化器(optim)不同参数组,不同学习率设置的操作

    2021-09-14 05:05:44
  • Python远程SSH库Paramiko详细操作

    2022-08-14 18:38:09
  • 使用Python检测文章抄袭及去重算法原理解析

    2023-04-26 12:00:54
  • 一起来看看python的装饰器代码

    2023-08-07 19:33:20
  • pytorch Dropout过拟合的操作

    2023-11-26 16:12:18
  • Python迭代器与生成器用法实例分析

    2023-08-23 05:52:38
  • asp之家 网络编程 m.aspxhome.com