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

如何利用另一个字典中匹配键的值更新YAML文件?

解决方案:用Python为YAML文件批量添加字段

嘿,这个需求很容易实现,咱们用Python的PyYAML库就能搞定,下面是完整的步骤和代码:

1. 先安装依赖库

首先确保你已经安装了PyYAML,如果没装的话,在终端执行:

pip install pyyaml

2. 编写处理代码

下面的代码会读取input.yaml,把my_dict里的电话号码对应添加到每个条目中,最后生成output.yaml:

import yaml

# 定义你的电话号码字典
my_dict = {'001': '000-111-2222', '002': '000-111-2223', '003': '000-111-2224'}

# 读取input.yaml文件
with open('input.yaml', 'r', encoding='utf-8') as f:
    yaml_data = yaml.safe_load(f)

# 遍历每个条目,添加phone字段
for user_id, user_info in yaml_data.items():
    if user_id in my_dict:
        user_info['phone'] = my_dict[user_id]

# 将更新后的数据写入output.yaml
with open('output.yaml', 'w', encoding='utf-8') as f:
    # 若想让用户ID(如'001')保留单引号,可添加 default_style="'" 参数
    yaml.dump(yaml_data, f, sort_keys=False, allow_unicode=True)

代码说明:

  • yaml.safe_load():安全加载YAML内容,避免潜在的安全风险
  • sort_keys=False:保留原YAML文件的条目顺序(默认PyYAML会按键排序)
  • 如果需要让输出的用户ID保留单引号,在yaml.dump()里加上default_style="'"参数即可

3. 运行效果

执行代码后,你就能得到完全符合需求的output.yaml文件,每个用户条目下都会新增对应的phone字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:27:40