python - 如何合并 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 数组格式?我显然尝试在需要的地方逐行添加删除或添加“,”,但这可能不是尽可能优雅和内存高效的方式。
解决方案
您可以使用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}]
推荐阅读
- node.js - 即使使用返回,电子邮件仍在发送和数据捕获
- mongodb - MongoDB查询多个子文档
- html - WAMP 停止加载 Bootstrap
- oop - 如何将最终字符串 [name] 转换为颤振中的双精度值?
- azure-devops - 是否可以自定义测试用例工作项的步骤?
- python - Python 中的 TSP:在代码中为随机数据点导入 .csv 文件
- android - 在 Flutter 的 for 循环中使用时如何更改 OnTap 函数中的值
- javascript - 如何为Web浏览器的控制台日志编写for循环
- java - 使用 OpenCV 和 Nd4j 的 Android apk 太大
- c# - Itemsource 未更新 (wpf,c#)