如何解决:删除JSON文件中的重复项并写入新的

时间:2019-06-30 15:41:18

标签: python json

我有一个大约400.000条目的JSON文件。每个条目都是一个城市。现在,我要删除所有不在德国的城市,然后删除重复的城市。之后,我想将城市写入新的JSON文件。

出于测试目的,我使用了del方法来删除每个城市的坐标。然后,我创建了一个新的JSON文件。问题是,我什至无法打开文件,笔记本电脑死机了。

from flask import Flask, flash, jsonify, redirect, render_template, request, session
import json
import string

app = Flask(__name__)

with open('cities_list/city.list.json') as f:
    data = json.load(f)

for cities in data['cities']:
    del cities['coord']

with open('test.json', 'w') as f:
    json.dump(data, f)

您知道出了什么问题吗?

非常感谢您!

最良好的祝愿, 马赛厄斯

1 个答案:

答案 0 :(得分:0)

代码本身没有错。有些编辑器对大文件非常可怕,尤其是那些单行的编辑器,因为您的test.json最终会成为现实。

您可以将indent=2添加到json.dump()调用中,以使其发出换行符和缩进(以更大的文件为代价):

with open('test.json', 'w') as f:
    json.dump(data, f, indent=2)