2017-07-20 18 views
1

各行に1行のdictを含む10行のjsonファイルがあり、このjsonデータをpyonggoを使用してMongoDBに格納します。ここで私が書いたコードは次のとおりです。pyMongoを使用してmongodbに保存されたデータをmongodbに保存

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) 

、う、私はリストはその要素として、すべてのdictsを有し、かつ、その後insert_all()方法を使用してコレクションに追加しようとしていますが、私は行を追加していますので、リストの要素は文字列か辞書か?

答えて

1

まず、各行に1つのdictがある場合、それは有効なJSONファイルではありません。これは有効なJSONではありません:あなたはに何らかの理由で強制している場合

[{"id": 1,"value": "abc"}, 
{"id": 2,"value": "xyz"}, 
{"id": 3,"value": "mop"}] 

:あなたはこのような構造のデータを持っている場合は

{"id": 1, "value": "abc"} 
{"id": 2, "value": "xyz"} 
{"id": 3, "value": "mop"} 

は、私はあなたのような有効なJSONにそれを更新する提案します

:あなたは正しくコードがよりよい取得するファイルをフォーマットすることを選択した場合

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)) 
関連する問題