У меня есть файл json(~3 ГБ ), которые мне нужно загрузить в mongodb. Довольно много ключей json содержат расширение. (точка ), что приводит к сбою загрузки в mongodb. Я хочу загрузить файл json и отредактировать имена ключей в процессе, скажем, заменить точку пустым пространством. Используя следующий код Python
import json
def RemoveDotKey(dataPart):
for key in dataPart.iterkeys():
new_key = key.replace(".","")
if new_key != key:
newDataPart = deepcopy(dataPart)
newDataPart[new_key] = newDataPart[key]
del newDataPart[key]
return newDataPart
return dataPart
new_json = json.loads(data, object_hook=RemoveDotKey)
Хук объекта _под названием RemoveDotKey должен перебирать все ключи, если ключ содержит точку, создавать копию, заменять точку пробелом и возвращать копию. Создал копию dataPart, так как не уверен, смогу ли я перебирать ключи dataPart и одновременно вставлять/удалять пары ключ-значение.
Кажется, здесь ошибка, все json-ключи с точкой в них не редактируются. Я не очень понимаю, как работает json.load. Также я новичок в python (, использую его менее недели )
-. 121 ---1036777-aaa | bbb |