我有一个包含键值对的JSON文件。目前,我正在使用内置于Replace()函数中的python将下划线替换为空格,但还将值中的下划线替换为空格。我只想替换Keys中的空格,Values应该保持不变。 这是我正在使用的python函数
string=string.replace(" ","_")
答案 0 :(得分:3)
我正在研究的假设是您首先将Json字符串转换为字典。然后:
最 pythonic (惯用,最清晰,最有效)的方法是使用字典理解:
d = {"key 1": "Value 1", "key 2": "value 2"}
new_d = {k.replace(" ", "_"): v for k, v in d.items()}
print(new_d)
打印:
{'key_1': 'Value 1', 'key_2': 'value 2'}
d.items()
将字典中的所有键/值对迭代为上述代码中的变量k
和v
,并在k
中用下划线替换空格之后,从这对k
和v
对中创建一个新字典。
然后您可以将字典转换回Json字符串。
答案 1 :(得分:0)
您不能更改键。您可以做的就是添加修改后的键,值对,然后删除旧的键。
假设您有如下字典:
{'x c': 'z c'}
您可以编写以下脚本来替换键中的空格:
x = {"x c":"z c"}
for key,value in x.iteritems():
new_key = key.replace(" ","_")
del x[key] # Deleting Previous Key
x[new_key] = value # Adding Modified key
输出:
{'x_c': 'z c'}
希望这可以帮助您!