mel*_*mel 6 python json pandas
我正在尝试执行一个合并 2 个 json 文件的 python 脚本,例如:
第一个文件:students.json
{"John Smith":{"age":16, "id": 1}, ...., "Paul abercom":{"age":18, "id": 764}}
Run Code Online (Sandbox Code Playgroud)
第二个文件:teacher.json
{"Agathe Magesti":{"age":36, "id": 765}, ...., "Tom Ranliver":{"age":54, "id": 801}}
Run Code Online (Sandbox Code Playgroud)
因此,为了不丢失任何信息,我第一次修改文件以添加每个人的状态,如下所示:
{"John Smith":{"age":16, "id": 1, "status":"student"}, ...., "Paul abercom":{"age":18, "id": 764, "status":"student"}}
{"Agathe Magesti":{"age":36, "id": 765, "status":"teacher"}, ...., "Tom Ranliver":{"age":54, "id": 801, "status":"teacher"}}
Run Code Online (Sandbox Code Playgroud)
为此,我执行了以下代码:
import pandas as pd
type_student = pd.read_json('student.json')
type_student.loc["status"] = "student"
type_student.to_json("testStudent.json")
type_teacher = pd.read_json('teacher.json')
type_teacher.loc["status"] = "teacher"
type_teacher.to_json("testTeacher.json")
with open("testStudent.json") as data_file:
data_student = json.load(data_file)
with open("testTeacher.json") as data_file:
data_teacher = json.load(data_file)
Run Code Online (Sandbox Code Playgroud)
我想要做的是合并data_student和data_teacher,并将生成的JSON打印在一个json文件中,但是我只能使用标准库pandas、numpy和scipy。
经过一些测试,我意识到有些老师也是学生,这可能是合并的问题。
看起来您的 JSON 文件包含“对象”作为顶级结构。这些映射到 Python 字典。所以只使用 Python 应该很容易。只需用第二个字典更新第一个字典即可。
import json
with open("mel1.json") as fo:
data1 = json.load(fo)
with open("mel2.json") as fo:
data2 = json.load(fo)
data1.update(data2)
with open("melout.json", "w") as fo:
json.dump(data1, fo)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8340 次 |
| 最近记录: |