Pymongo bson.errors.invaliddocument: не может кодировать объект, когда считывается из файлаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pymongo bson.errors.invaliddocument: не может кодировать объект, когда считывается из файла

Сообщение Anonymous »

У меня есть файл csv с строкой заголовка и 100K записей. Conda Suppies Pimongo-3.4.0 в качестве монго-драйвера .

Я анализирую мой файл csv и сохранить его как файл json n на диске, а затем итерацию по файлу json для вставки json в Mongo

json выглядит как:

json.{
a1 : {'name': 702104534, type='Single' }
a2 : {'name': 702104535, type='Single' }
a3 : {'name': 702104536, type='Married' }
}
< /code>

код Python: < /p>

import pymongo
import pickle

with open('my_json_file.json', 'rb') as in_file:
person_json = pickle.load(in_file)

conn = pymongo.MonogClient('localhost','27017')
db = conn['db']
coll = db['coll']

persons = person_json.keys()
for person in persons:
coll.insert_one(person_json[person])
< /code>

через следующую ошибку: < /p>

Traceback (most recent call last):
File "C:/PyCharmWorkSpace/LCR/json2mongo.py", line 109, in
data2mongo()
File "C:/PyCharmWorkSpace/LCR/json2mongo.py", line 89, in data2mongo
coll.insert_one(json_str)
File "C:\Anaconda3\lib\site-packages\pymongo\collection.py", line 657, in insert_one
bypass_doc_val=bypass_document_validation),
File "C:\Anaconda3\lib\site-packages\pymongo\collection.py", line 562, in _insert
check_keys, manipulate, write_concern, op_id, bypass_doc_val)
File "C:\Anaconda3\lib\site-packages\pymongo\collection.py", line 543, in _insert_one
check_keys=check_keys)
File "C:\Anaconda3\lib\site-packages\pymongo\pool.py", line 424, in command
self._raise_connection_failure(error)
File "C:\Anaconda3\lib\site-packages\pymongo\pool.py", line 552, in _raise_connection_failure
raise error
File "C:\Anaconda3\lib\site-packages\pymongo\pool.py", line 419, in command
collation=collation)
File "C:\Anaconda3\lib\site-packages\pymongo\network.py", line 94, in command
None, codec_options, check_keys)
bson.errors.InvalidDocument: Cannot encode object: 702104534
< /code>

Тем не менее, одинаковые работы, если строка JSON является переменной < /p>

Код Python: < /p>

import pymongo

conn = pymongo.MonogClient('localhost','27017')
db = conn['db']
coll = db['coll']

person = {'name': 702104534, 'type'='Single' }
coll.insert_one(person)
< /code>

Спасибо за вашу помощь. < /p>

Подробнее здесь: https://stackoverflow.com/questions/508 ... -from-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»