首页 > 解决方案 > 我需要拆分json数据

问题描述

我想通过以下更改来修改当前的 JSON 文件:

我想编辑“Vs”列并将该数据分成两列。我希望通过在“vs”之后拆分数据,将其拆分为分别名为团队 1 和团队 2 的两列。

我应该如何使用 python 脚本来做到这一点?

输入:JSON 数据(这是示例数据。)

[
 {
   "Match No": "1",
   "Date": "17-10-21",
   "Vs": "Sri Lanka vs Ireland",
   "Rounds": "1st",
   "Group": "Group A"
 },

所需输出:JSON 数据

[
 {
   "Match No": "1",
   "Date": "17-10-21",
   "Team1": "Sri Lanka",
   "Team2": "Ireland",
   "Rounds": "1st",
   "Group": "Group A"
 },

标签: json

解决方案


因此,我使用库 json 来序列化您的输入。那么你只需要遍历 json 数组中的每个对象,并从数据中创建一个新的 json 对象。希望楼主理解。

import json

input = """

[
 {
   "Match No": "1",
   "Date": "17-10-21",
   "Vs": "Sri Lanka vs Ireland",
   "Rounds": "1st",
   "Group": "Group A"
 }
 ]

"""

result = json.loads("""
[
]
""")

for o in json.loads(input):
    teams = o["Vs"].split(" vs ")
    result.append({
        "Match No": o["Match No"],
        "Date": o["Date"],
        "Team 1": teams[0],
        "Team 2": teams[1],
        "Rounds": o["Rounds"],
        "Group": o["Group"]
    })


print(result)

推荐阅读