восстановить базу данных из файла .bson для python - PullRequest
0 голосов
/ 21 октября 2018

Я попытался прочитать файл bson, используя следующую команду:

import bson
input_dir='/path/to/file/dir/'
bson_stats =open(os.path.join(input_dir,'stats.bson'),'rb')
bson_stats = bson.loads(bson_stats.read())

Когда я пытаюсь получить доступ к bson_stats, я получил только одну строку данных, но не все данные.

Я впервые играю с файлом bson.У меня вопрос:

  • как получить доступ ко всем данным в файле bson?

Ссылка на файл stats.bson:

https://drive.google.com/file/d/1N71hRafOm_6xWNsUfxcr5Sm0fQwydd1a/view?usp=sharing

1 Ответ

0 голосов
/ 21 октября 2018

BSON (Binary JSON) Кодирование и декодирование

>>> with open('stats.bson', 'rb') as f:
...     data = bson.decode_all(f.read())
...     print data
[{u'CodeGare': u'057', u'TrainEnRetard': 0, u'GareJour': u'2018-03-23_057', u'TotalTrains': 0, u'Date': u'2018-03-23', u'_id': ObjectId('5ab5a312d909c48f43e26cb5')}, {u'CodeGare': u'063', u'TrainEnRetard': 4, u'GareJour': u'2018-03-23_063', u'TotalTrains': 4, u'Date': u'2018-03-23', u'_id': ObjectId('5ab5a312d909c48f43e26cb8')}, {u'CodeGare': u'067', u'TrainEnRetard': 4, u'GareJour': u'2018-03-23_067', u'TotalTrains': 4, u'Date': u'2018-03-23', u'_id': ObjectId('5ab5a312d909c48f43e26cbb')}, {u'CodeGare': u'071', u'TrainEnRetard': 4, u'GareJour': u'2018-03-23_071', u'TotalTrains': 4, u'Date': u'2018-03-23', u'_id': ObjectId('5ab5a312d909c48f43e26cbe')}, {u'CodeGare': u'077', u'TrainEnRetard': 3, u'GareJour': u'2018-03-23_077', u'TotalTrains': 3, u'Date': u'2018-03-23', u'_id': ObjectId('5ab5a312d909c48f43e26cc1')}
...