如何使用 Python 将 json 字典中的所有键小写
How to lowercase all keys in json dict with Python
我是这个网站的新手所以对我温柔一点,不是同性恋。
我目前正在使用代码练习我的 Python 技能,根据 JSON 字典检查给定的键并为您提供键的定义。
现在我知道我的问题还有其他解决方案,但如果可能的话,我正在尝试专门找出这个解决方案。
我正在尝试将我字典中的所有键都更改为小写,我现在正在尝试这样做:
data = json.load(open("data.json"))
for key in data.keys():
key = key.lower()
这个词典文件是什么样子的(一键示例):
"act": ["Something done voluntarily by a person, and of such a nature that certain legal consequences attach to it.", "Legal documents, decrees, edicts, laws, judgments, etc.", "To do something.", "To perform a theatrical role."]
显然每个键有多个值,这在尝试其他解决方案时会产生问题。
你可以试试这个,
data = json.load(open("data.json"))
new_data = {key.lower():value for key, value in data.items()}
然后就可以用新数据替换旧数据了。
with open("data.json") as fp:
json.dump(new_data, fp)
@bumblebee给出的方案是正确的,也是最小的。但是,如果您难以理解字典理解,请参考以下代码(我与@bumblebee 的代码相同)
data = json.load(open("data.json"))
new_data = {}
for key, value in data.items():
new_data[key.lower()] = value
# any code if you want to add further
with open("data.json") as fp:
json.dump(new_data, fp)
我是这个网站的新手所以对我温柔一点,不是同性恋。
我目前正在使用代码练习我的 Python 技能,根据 JSON 字典检查给定的键并为您提供键的定义。 现在我知道我的问题还有其他解决方案,但如果可能的话,我正在尝试专门找出这个解决方案。
我正在尝试将我字典中的所有键都更改为小写,我现在正在尝试这样做:
data = json.load(open("data.json"))
for key in data.keys():
key = key.lower()
这个词典文件是什么样子的(一键示例):
"act": ["Something done voluntarily by a person, and of such a nature that certain legal consequences attach to it.", "Legal documents, decrees, edicts, laws, judgments, etc.", "To do something.", "To perform a theatrical role."]
显然每个键有多个值,这在尝试其他解决方案时会产生问题。
你可以试试这个,
data = json.load(open("data.json"))
new_data = {key.lower():value for key, value in data.items()}
然后就可以用新数据替换旧数据了。
with open("data.json") as fp:
json.dump(new_data, fp)
@bumblebee给出的方案是正确的,也是最小的。但是,如果您难以理解字典理解,请参考以下代码(我与@bumblebee 的代码相同)
data = json.load(open("data.json"))
new_data = {}
for key, value in data.items():
new_data[key.lower()] = value
# any code if you want to add further
with open("data.json") as fp:
json.dump(new_data, fp)