如何使用python从JSON文件中删除空格(仅来自JSON键)



我有一个具有键值对的JSON文件。目前,我使用python内置的Replace((函数将空格替换为下划线,但它也将值中的空格替换为划线。我只想替换键中的空格,值应该保持不变。这是我使用的python函数

string=string.replace(" ","_")

我所做的假设是,首先将Json字符串转换为字典。然后:

要做到这一点,最具Python风格的(惯用、最清晰、高效(方法是使用词典理解

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()迭代字典的所有键/值对作为上面代码中的变量kv,并且在k中用下划线替换空格之后,从这些kv对创建新的字典。

然后,您可以将字典转换回Json字符串。

您不能更改键。您可以添加修改后的键值对,然后删除旧的键值对。

假设你有一本字典如下:

{'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'}

希望这能帮助你

最新更新