python使用pandas将mongo表导出为json文件和将json导入mongo表

本文介绍了如何使用Python的pymongo库连接到MongoDB数据库,查询数据,将其转换为PandasDataFrame,并将DataFrame保存为JSON文件的过程。
摘要由CSDN通过智能技术生成

将mongo表导出为json文件

import pymongo
import pandas as pd

# MongoDB 连接配置
mongo_uri = "mongodb://127.0.0.1:27017/"
database_name = "data"
collection_name = "json_data"

# 连接到 MongoDB
client = pymongo.MongoClient(mongo_uri)
db = client[database_name]
collection = db[collection_name]

# 从 MongoDB 集合中检索数据
cursor = collection.find()
data_list = list(cursor)

# 将数据转换为 Pandas DataFrame
df = pd.DataFrame(data_list)

# 将 '_id' 字段转换为字符串,因为它是一个 ObjectId 对象
df['_id'] = df['_id'].astype(str)

# 将 DataFrame 保存为 JSON 文件
# 注意:'orient='records''将生成一个JSON列表,每个记录都是一个对象
# 如果你想要一个不同的格式(例如整个 DataFrame 作为一个对象),你可以改变 orient 参数
df.to_json('aaa.json', orient='records', force_ascii=False)

# 关闭 MongoDB 连接
client.close()

或者

# 使用 'replace' 或 'ignore' 来处理非法字符
cleaned_df = data.applymap(lambda x: x.encode('utf-8', 'replace').decode('utf-8') if isinstance(x, str) else x)
#
# 然后尝试保存为JSON
cleaned_df.to_json('rd_t_cases_240301.json', orient='records', lines=True, force_ascii=False)

将json导入mongo表

import json
from pymongo import MongoClient

# 替换为您的 MongoDB 连接详细信息
client = MongoClient('mongodb://admin:admin@127.0.0.1:27017/')
db = client['sfc_radar']
collection = db['rd_t_files']

# 打开 JSON 文件并加载数据
with open(r'C:/Users/dell/Desktop/rd_t_files.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 如果 JSON 文件包含多个文档(即数组),可以使用 insert_many 方法
if isinstance(data, list):
    collection.insert_many(data)
else:
    collection.insert_one(data)

print("数据导入完成")
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值