将字典/ json密钥转换为MongoDB最快的最快方法(转换"。"和" $"到其他东西)

时间:2016-05-21 21:05:29

标签: python json mongodb python-2.7 dictionary

TLDR:取代所有键的最快方法是什么?"。"或" $"用下划线?

任何使用MongoDB的人都不会感到惊讶,但是你无法使用#34;。"或" $"作为文档中的任何键。如果你是所有键的创建者,那么这很容易,因此可以明智地选择你的名字。在我的情况下,我通过从外部API获取数据来获取数据,因此我无法对其约定做任何事情......

我意识到我可以像这样逐个转换每个单独的键:

APIdict[key_num_1] = APIdict.pop(key.num.1)
APIdict[key_num_2] = APIdict.pop(key.num.2)
APIdict[key_num_3] = APIdict.pop(key.num.3)
...

但是这假设我知道所有的钥匙,并且可能会变得凌乱/长。

有没有办法解析字典中的所有键并重命名包含"的所有键。"使用下划线的相应键?

1 个答案:

答案 0 :(得分:0)

可能不理想,但我用词典理解只是在一行中创建一个新词典......

假设" a"是你的"坏"字典。

a_cleaned = {key.replace("。"," _"):a .keys()}中的键的[键]

感谢Valentin Lorentz的改进:

a_cleaned = {key.replace(".","_"): value for (key, value) in a.items()}