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()
相关推荐
XMXFS21 分钟前
小红书推荐算法底层逻辑解析:用数据思维做内容优化
python·算法·新媒体运营·推荐算法
hans77488296824 分钟前
仅根据BMI反推身高和体重?还真能做到!只需要简单的数论知识~
python·数学
追光者491 小时前
我把 55 篇自动化日志翻了一遍:最容易出事的是这 4 个地方
python·自动化运维
2601_962885721 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI1 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
Dxy12393102161 小时前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
hhb_6181 小时前
Flask+SQLite实现用户管理接口
python·sqlite·flask
全栈练习生1 小时前
RAG 准确率保障的体系化方案
python·ai
秋秋小事1 小时前
python 基础知识总结(一)
python
蜗牛互联网2 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python