使用python从mongodb中导出json和csv格式

1.导出json格式

# encoding:utf-8
import pymongo
import json

FILE = "E:\\test.json"
MONGO_URL = 'mongodb://127.0.0.1:27017' 
MONGO_DB = 'Test'
MONGO_COLLECTION = 'test' 
client = pymongo.MongoClient(MONGO_URL).MONGO_DB.MONGO_COLLECTION

datas = client.find({}, {"_id": 0})
with open(FILE, 'a', encoding="utf-8") as f:
    item = {}
    for data in datas:
        # 选择要导出的字段
        item['title'] = data['title']
        item['text'] = data['text'].strip()
        # ensure_ascii默认为True,导出时中文会出现乱码,所以有中文时这里应设置为False
        f.write(json.dumps(item, ensure_ascii=False) + "\n")

2.导出csv格式:

# encoding:utf-8
import pymongo
import csv
import codecs

FILE = "E:\\test.csv"
MONGO_URL = 'mongodb://127.0.0.1:27017'
MONGO_DB = 'Test'
MONGO_COLLECTION = 'test'

client = pymongo.MongoClient(MONGO_URL).MONGO_DB.MONGO_COLLECTION

datas = client.find({}, {"_id": 0})
with codecs.open(FILE, 'a', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile)
    # 设置csv头行,选择要导出的字段
    writer.writerow(["title", "text"])
    for data in datas:
        writer.writerow([data['title'], data['text']])

写入csv时,我使用的是codecs.open而不是open,这是因为我使用open打开时报了错误:UnicodeEncodeError编码错误,

使用codecs可以自动转换格式编码。

 

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值