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)
...
但是这假设我知道所有的钥匙,并且可能会变得凌乱/长。
有没有办法解析字典中的所有键并重命名包含"的所有键。"使用下划线的相应键?
答案 0 :(得分:0)
可能不理想,但我用词典理解只是在一行中创建一个新词典......
假设" a"是你的"坏"字典。
a_cleaned = {key.replace("。"," _"):a .keys()}中的键的[键]
感谢Valentin Lorentz的改进:
a_cleaned = {key.replace(".","_"): value for (key, value) in a.items()}