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

如何在Python中为YAML文件内所有国家添加continent字段?

如何用Python给YAML文件中的每个国家添加continent: Europe字段

这事儿用Python的PyYAML库就能轻松搞定,我给你一步步拆解操作:

1. 先安装PyYAML依赖

如果你的环境还没装这个库,打开终端运行下面的命令:

pip install pyyaml

2. 编写处理代码

下面的代码会读取你的YAML文件,给每个国家添加continent字段,再把修改后的内容写回文件:

import yaml

# 读取目标YAML文件(替换成你的文件实际路径)
with open('your_countries.yaml', 'r') as input_file:
    country_dict = yaml.safe_load(input_file)

# 遍历每个国家的信息字典,添加continent字段
for country_info in country_dict.values():
    country_info['continent'] = 'Europe'

# 将修改后的数据写入文件,保留原格式风格
with open('your_countries.yaml', 'w') as output_file:
    yaml.dump(
        country_dict,
        output_file,
        default_flow_style=False,  # 保持和原文件一致的块级格式
        sort_keys=False,  # 不自动排序国家,保留原有的顺序
        allow_unicode=True
    )

代码细节说明

  • yaml.safe_load():安全加载YAML内容,返回一个嵌套字典——外层键是国家名称,内层是包含population和capital的子字典。
  • 遍历country_dict.values()就能直接拿到每个国家的信息字典,直接添加continent: 'Europe'就行,操作非常直观。
  • yaml.dump()的参数是关键:
    • default_flow_style=False确保输出是和原文件一样的块式结构,不会变成紧凑的流式格式。
    • sort_keys=False避免PyYAML自动按字母排序国家,保证克罗地亚(Croatia)在意大利(Italy)前面的原有顺序不变。

运行这段代码后,你的YAML文件就会完全变成你期望的样子啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:30:16