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()
相关推荐
拉普拉斯妖108几秒前
DAY38 Dataset和DataLoader
python
未来魔导9 分钟前
go语言中json操作总结(下)
数据分析·go·json
Michelle802341 分钟前
24大数据 16-1 函数复习
python
dagouaofei1 小时前
AI自动生成PPT工具对比分析,效率差距明显
人工智能·python·powerpoint
ku_code_ku1 小时前
python bert_score使用本地模型的方法
开发语言·python·bert
数据与人1 小时前
mongodb报错Sort exceeded memory limit of 104857600 bytes
数据库·mongodb
祁思妙想1 小时前
linux常用命令
开发语言·python
流水落花春去也1 小时前
用yolov8 训练,最后形成训练好的文件。 并且能在后续项目使用
python
Serendipity_Carl1 小时前
数据可视化实战之链家
python·数据可视化·数据清洗
小裴(碎碎念版)2 小时前
文件读写常用操作
开发语言·爬虫·python