json - 我需要拆分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 对象。希望楼主理解。
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)
推荐阅读
- c++-cli - 如何在换行符处拆分字符串?
- python - 对我的数据框使用 agg(),没有结果
- regex - 如果在 YML 文件中使用正则表达式为空,则删除第一行
- angular - Leaflet map draggable - 如何在拖动事件中调用函数或更改类变量
- python-3.x - 如何从列表中获取字符串并将其与另一个字符串进行比较?
- html - 我可以在我的 Github 存储库的 README.md 中嵌入 Plotly 生成的 html 文件吗?
- java - SMALL_PRIME_PRODUCT 在 BigInteger 中的意义
- nginx - 在反向代理服务器 + Python HTTPS 服务器中,谁应该处理 HTTPS 连接的 SSL 证书?
- xml - 使用 PowerShell 替换嵌套 XML 中的值
- python - Pandas:如何在 COVID-19 数据框中找到局部爆发达到峰值的平均天数?