首页 > 解决方案 > 如何合并 2 个 JSON 数组文件?

问题描述

我有多个来自网络抓取的带有 JSON 数组的文件。它们看起来都像这样:

db_1.txt
[
{"title": "Title1", "price" : 21.37},
{"title": "Title2", "price" : 32.10},
{"title": "Title3", "price" : 221.67}
]

db_2.txt
[
{"title": "Title4", "price" : 121.37},
{"title": "Title5", "price" : 232.10}
]

如何将这些文件合并在一起,同时保持相同的 JSON 数组格式?我显然尝试在需要的地方逐行添加删除或添加“,”,但这可能不是尽可能优雅和内存高效的方式。

标签: pythonjsonio

解决方案


您可以使用Python 开箱即用loads的模块功能来读取和处理这些文件中的 json 结构,然后将它们附加到最终列表中,以便以任何您想要的方式使用它:json.txt

import json

result = []
textFiles = ['db_1.txt', 'db_2.txt']
for textFile in textFiles:
    with open(textFile, 'r') as file_1:
        data = json.loads(file_1.read())
        result.extend(data)

print(result)

这将打印:

[{'title': 'Title1', 'price': 21.37}, {'title': 'Title2', 'price': 32.1}, {'title': 'Title3', 'price': 221.67}, {'title': 'Title4', 'price': 121.37}, {'title': 'Title5', 'price': 232.1}]

推荐阅读