【python】pymongo将json数据存到数据库

首先在数据库中创建一个空集合,代码创建或者通过ROBO 3T之类的软件操作都行。
然后代码如下:

import json
import pymongo

client = pymongo.MongoClient('localhost')
db = client['database_name']
collection = db['collection_name']

f = open('filename.json', 'r')
data_list = json.load(f)
collection.insert_many(data_list)

f.close()

其中data_list是个列表,列表里面的元素是一个一个的字典,每一个字典就是一条数据。data_list大概长这个样子:

[
  {
    "name": "userA",
    "sex": "male"
  },
  {
    "name":"userB",
    "sex": "male"
  }
]

存完数据之后,该集合中就有两个字段,一个是name,一个是sex
这种方式只能将数据传到一个空集合

如果想要追加数据的话,可以使用insert_one语句,代码如下:

import json
import pymongo

client = pymongo.MongoClient('localhost')
db = client['database_name']
collection = db['collection_name']

f = open('filename', 'r')

for line in f:
    dict_line = json.loads(line)
    collection.insert_one(dict_line)

f.close()

filename中的文件是一个个的字典,大概长这个样子:

{'field1': 'data1'}
{'field2': 'data2'}
{'field3': 'data3'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值