2016-05-21 2 views
2

TLDR:置き換える最も速い方法は何ですかすべてに "。または "$"をアンダースコアで囲みますか?


MongoDBを使用している人には驚きはありませんが、 "。"は使用できません。または "$"をドキュメントの任意のキーとして使用します。あなたが最初の場所にあるすべてのキーの作成者であるなら、あなたの名前を賢明に選ぶだけで十分です。私の場合は、外部APIからデータを取得しているので、その規約については何もできません。

このように個々のキーをそれぞれ1つずつ変換することができました。

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

ない理想的な、しかし、私はちょうど1行に新しい辞書を作成する辞書理解を使用...

は「」あなたの「悪い」の辞書であると仮定する。改善のバレンローレンツに

ありがとう:

:= {a.keysにおけるキーの[キー]()key.replace( " "" _")} a_cleaned

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

'a_cleaned = {key.replace("。 "、" _ "):a.items()}'(key、value)の値 –

関連する問題