Python读取MongoDB的JSON字典和列表对象转为字符串

使用Python的pymongo库连接和读取Mongo的集合(表),读取的每个结果为一个JSON对象。下面实例将解析结果转化为pandas的DataFrame类型,一级属性作为列名(也可展开子对象扩展更多列)。如果属性值为字段和列表,即JSON内嵌对象,可用如下方法解析为JSON字符串:

python 复制代码
import pymongo as pm
import pandas as pd


mongo_addr = 'mongodb://user_name:password@mongo_server_ip:27017'

client = pm.MongoClient(mongo_addr)  # 连接MongoDB数据库客户端对象
db = client.get_database(dbn)
coll = db[coll_name]
cond = {'status': {'$gte': 1}}
cursor = coll.find(cond)
batch_list = []
# item为字典对象
for item in cursor:
    for key, value in item.items():
        # 对一级属性值判断,若为字典或列表转为JSON字符串
        if isinstance(value, (dict, list)):
            item[key] = json.dumps(value, ensure_ascii=False)
    batch_list.append(item)
data_frame = pd.DataFrame(batch_list)
cursor.close()
client.close()
相关推荐
u0109147607 分钟前
JavaScript中类的装饰器提案在属性与方法上的应用
jvm·数据库·python
Absurd58715 分钟前
Laravel Eloquent 中精准检测时间区间重叠的完整实践指南
jvm·数据库·python
djjdjdjdjjdj16 分钟前
如何快速查询SQL中的重复记录:GROUP BY与COUNT统计
jvm·数据库·python
2301_7826591817 分钟前
Redis怎样监控当前发生了多少次内存驱逐
jvm·数据库·python
m0_6178814222 分钟前
如何在新电脑上正确运行已部署的 Django 项目
jvm·数据库·python
u01091476022 分钟前
Golang怎么计算日期差天数_Golang如何计算两个日期之间相差多少天【方法】
jvm·数据库·python
gCode Teacher 格码致知30 分钟前
Python提高: unittest和 pytest的使用方法-由Deepseek产生
开发语言·python·pytest
pele31 分钟前
Python Tkinter如何实现组件拖拽交换位置_计算鼠标坐标重排布局
jvm·数据库·python
Aiclin36 分钟前
大模型基础-应用小记【转载】
python
leo__52044 分钟前
51单片机实现读写U盘
嵌入式硬件·mongodb·51单片机