如何合并 2 JSON 个数组文件?
How to merge 2 JSON array files?
我有多个文件,其中包含来自网络抓取的 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 数组格式的同时将这些文件合并在一起?我显然尝试通过在需要的地方删除或添加“,”来逐行附加,但这可能不是尽可能优雅和内存效率高的方法。
你可以这样做:
db_1.txt
{
merged_files:[
"tile1":"title2","price"
"tilte3":"title4","price"
]
}
]
您可以使用 Python 开箱即用的 loads
function of the json
模块来读取和处理这些 .txt
文件中的 json 结构,然后附加将它们添加到最终列表中,以便以任何你想要的方式使用它:
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}]
我有多个文件,其中包含来自网络抓取的 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 数组格式的同时将这些文件合并在一起?我显然尝试通过在需要的地方删除或添加“,”来逐行附加,但这可能不是尽可能优雅和内存效率高的方法。
你可以这样做:
db_1.txt
{
merged_files:[
"tile1":"title2","price"
"tilte3":"title4","price"
]
}
]
您可以使用 Python 开箱即用的 loads
function of the json
模块来读取和处理这些 .txt
文件中的 json 结构,然后附加将它们添加到最终列表中,以便以任何你想要的方式使用它:
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}]