在Python中修改大型JSON

时间:2018-10-17 09:18:56

标签: python json

我有一个用于移动通讯录数据的JSON,格式为:

post_data = [
    {
        "contact_first_name": "First Name",
        "contact_last_name": "Last Name",
        "contact_no": "98 9898 9999",
        "is_registered_user": False
    },
    {
        "contact_first_name": "First Name",
        "contact_last_name": "Last Name",
        "contact_no": "1 987 876 6545",
        "is_registered_user": False
    },
    {
        "contact_first_name": "First Name",
        "contact_last_name": "Last Name",
        "contact_no": "44 674 437878 4343",
        "is_registered_user": False
    }
]

我想从contact_no键中删除所有空格,如果我们在json中有10000个以上的联系人,python中是否有最佳的解决方案来迭代和删除空格。

这是我在python中的代码,但我认为这对于大型数据集不是一个好的解决方案:

final_json = []
for index, json_data in enumerate(post_data):
    for i in json_data["contact_no"]:
        final_json.append(i) if i!=' ' else i
    formated_contact = ''.join(final_json)
    post_data[index]["contact"] = formated_contact
print post_data

1 个答案:

答案 0 :(得分:3)

for data in post_data:
    data['contact_no'] = data['contact_no'].replace(' ', '')


print(post_data)
# [{'contact_first_name': 'First Name', 'contact_last_name': 'Last Name', 'contact_no': '9898989999', 'is_registered_user': False}, {'contact_first_name': 'First Name', 'contact_last_name': 'Last Name', 'contact_no': '19878766545', 'is_registered_user': False}, {'contact_first_name': 'First Name', 'contact_last_name': 'Last Name', 'contact_no': '446744378784343', 'is_registered_user': False}]