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()
相关推荐
weixin1997010801615 分钟前
[特殊字符] 智能数据采集:数字化转型的“数据石油勘探队”(附Python实战源码)
开发语言·python
次元工程师!1 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
t_hj1 小时前
大模型微调
人工智能·python·深度学习
范范@2 小时前
python基础-函数
开发语言·python
2301_803934612 小时前
MySQL 字段类型选择规范指南
jvm·数据库·python
yaoxin5211233 小时前
406. Java 文件操作基础 - 字符与二进制流
java·开发语言·python
一勺菠萝丶4 小时前
macOS 安装 Python 包报错:`externally-managed-environment` 怎么解决?
python
醒李4 小时前
盲人出行辅助系统原型
人工智能·python·目标检测
PILIPALAPENG4 小时前
第4周 Day 3:多 Agent 协作——让 Agent 们"组队干活"
前端·人工智能·python
Omics Pro5 小时前
填补蛋白质组深度学习预处理教学空白
人工智能·python·深度学习·plotly·numpy·pandas·scikit-learn