请问用python怎么将多个json文件合并成一个?

例如,文件1:[{"height": 310001, "inputheight": 272895 }] 文件2:[{"height": 310004,…
关注者
3
被浏览
37,430

2 个回答


所谓json数据, 符合json规定的字典或者列表转成的字符串

将json数据转换成python的字典或者列表, 进行处理后,

再转成json就是了.

最近有同行朋友,询问如何在Windows下,快速格式化乱序的json文本。我向他推荐了python的脚本工具json.tool,但他却犯了难。

由于他长期使用图形界面,对命令行非常陌生。难“依葫芦画瓢”。

其实,Windows的用法和MacOS大同小异。下面就以Windows10为例,来展示一下cmd中

python -m json.tool

的用法吧。

操作系统环境:Windows 10

Python版本: 3.10.2

1、创建一个txt文本,用于存放乱序的json数据

(1)D盘创建一个目录pythontest,在该目录中新建dev.txt文本

在相应的目录新建一个文本

(2)把乱序的json贴入到新建的dev.txt文本的列表中

[
{"name": "Router", "connect": {"username": "admin", "password": "cisco", "ip": "192.168.47.10", "device_type": "huawei"}},
{"name": "Switch", "connect": {"username": "admin", "password": "cisco", "ip": "192.168.47.20", "device_type": "huawei"}}
]
把乱序的json文本放到列表中

2、Windows使用python -m json.tool工具

(1)使用cmd进入D盘pythontest目录

C:\Users\PatrickHe>d:
D:\>cd pythontest
D:\pythontest>
进入相应目录

(2)使用python -m json.tool工具快速格式化

D:\pythontest>more dev.txt | python -m json.tool > dev.json
演示效果
文件展示
文件展示

或者把单独的json文件放入一个文本中

dev_router.txt

[
{"name": "Router", "connect": {"username": "admin", "password": "cisco", "ip": "192.168.47.10", "device_type": "huawei"}}
]

dev_switch.txt

[
{"name": "Switch", "connect": {"username": "admin", "password": "cisco", "ip": "192.168.47.20", "device_type": "huawei"}}
]

然后再用python拼接

import json
with open('./dev_router.txt') as f:
	file_json_1 = json.load(f)
with open('./dev_switch.txt') as f:
	file_json_2 = json.load(f)
file_json = file_json_1 + file_json_2