You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何正确格式化待追加的字典列表以写入JSON文件

问题根源

你构造主队数据的代码中误将冒号写为逗号,生成了Python独有的集合(set)结构,而JSON标准没有对应集合的类型,因此序列化写入时会直接报错。你生成的输出中{'PHI', '109'}、{'89', 'UTA'}都是集合的典型特征,集合的无序性还会导致键值位置随机颠倒,进一步破坏数据结构。

修复方案

1. 修正字典构造代码

将主队数据的集合结构改为和客队一致的字典结构,把逗号替换为冒号:

the_list = {
    f'Game {count}': [
        {f"{x['vTeam']['triCode']}": f"{x['vTeam']['score']}"},
        # 把原代码中的逗号改为冒号,转为标准字典结构
        {f"{x['hTeam']['triCode']}": f"{x['hTeam']['score']}"}
    ],
    'Time': f"{game_live}"
}
out_file.append(the_list)

2. 调用JSON模块写入文件

使用Python内置json模块完成序列化写入即可:

import json

# out_file为你填充完数据的列表
with open("game_result.json", "w", encoding="utf-8") as f:
    # indent=2用于格式化输出方便阅读,ensure_ascii=False避免特殊字符乱码
    json.dump(out_file, f, ensure_ascii=False, indent=2)
修正后的合规JSON结构示例
[
    {
        "Game 1": [
            {"TOR": "115"},
            {"PHI": "109"}
        ],
        "Time": "7:00 PM ET"
    },
    {
        "Game 1": [
            {"IND": "98"},
            {"UTA": "89"}
        ],
        "Time": "Currently Live"
    },
    {
        "Game 1": [
            {"MIA": "30"},
            {"LAC": "21"}
        ],
        "Time": "Currently Live"
    }
]

内容的提问来源于stack exchange,提问作者Walter Pope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:27:03