Python逐个对象写入json文件

时间:2019-02-25 19:51:41

标签: python json

我正在遍历一堆指向中等大小json文件的url,我试图将它们组合成一个文件。目前,它将每个文件的json数据附加到列表中,然后我可以将其写入单个Json文件

data = []

for i in range(50):
    item = tree.getroot()[i][0]
    with urllib.request.urlopen(url + item.text) as f:
        for line in f:
            data.append(json.loads(line))

# Save to file
with open('data.json', 'w') as outfile:
     json.dump(data, outfile)

但是,我不确定这种方法的可扩展性,最终我将不得不以这种方式合并100个文件。如果数据列表变得太大,我想尝试一次性写入它会由于内存问题而导致系统崩溃?有没有一种方法可以连续写入json文件,因此不必像这样在循环内附加:

data.append(json.loads(line))

相反,我会在每个循环中使用类似以下内容的文件:

with open('data.json', 'w') as outfile:
     json.writedata, outfile)

那样我就可以在构建文件时清除每个循环之间的内存了吗?

0 个答案:

没有答案