Python 使用pyMongo将json文件中保存的数据存储在mongodb中
我有一个json文件,有10行,每行有一个dict,包含数据,我想使用pyMongo将这个json数据存储在MongoDB中。以下是我编写的代码:Python 使用pyMongo将json文件中保存的数据存储在mongodb中,python,json,mongodb,pymongo,Python,Json,Mongodb,Pymongo,我有一个json文件,有10行,每行有一个dict,包含数据,我想使用pyMongo将这个json数据存储在MongoDB中。以下是我编写的代码: import pymongo from pymongo import MongoClient client = MongoClient() db = client.twitterdata coll = db.twitterset f = open('twitterdata.json', 'r') dblist = [] for line
import pymongo
from pymongo import MongoClient
client = MongoClient()
db = client.twitterdata
coll = db.twitterset
f = open('twitterdata.json', 'r')
dblist = []
for line in f:
dblist.append(line)
我试图创建一个列表,将所有dict作为其元素,然后使用
insert_all()
方法将其添加到集合中,但由于我要追加行,列表的元素是字符串还是dict?首先,如果每行上有一个dict,这不是有效的JSON文件。这不是有效的JSON:
{"id": 1, "value": "abc"}
{"id": 2, "value": "xyz"}
{"id": 3, "value": "mop"}
如果您有这样的数据结构,我建议您将其更新为有效的JSON,如:
[{"id": 1,"value": "abc"},
{"id": 2,"value": "xyz"},
{"id": 3,"value": "mop"}]
如果出于任何原因,您不得不留在第一种情况下,您可以确保在数据库中插入所需内容,如下所示:
import json
dblist = []
with open('twitterdata.json', 'r') as f:
for line in f:
dblist.append(json.loads(line))
如果选择正确格式化文件,代码会变得更好:
import json
dblist = []
with open('twitterdata.json', 'r') as f:
dblist.extend(json.load(f))