如何在Notepad++中将YAML中Rate字段值上限设为5000
批量限制YAML中Rate字段的数值上限为5000
需求很明确:将给定YAML片段里所有Rate字段的数值限制在5000以内,超过5000的统一替换为5000,不超过的保持原值。
原始YAML片段
- Item: Oldman's_Romance Rate: 50 - Item: Grasshopper's_Leg Rate: 8000 - Item: Azure_Jewel Rate: 9000 - Item: Grasshopper_Doll Rate: 1500 - Item: Angel's_Arrival Rate: 1000 - Item: Center_Potion Rate: 700
修改后的YAML片段
- Item: Oldman's_Romance Rate: 50 - Item: Grasshopper's_Leg Rate: 5000 - Item: Azure_Jewel Rate: 5000 - Item: Grasshopper_Doll Rate: 1500 - Item: Angel's_Arrival Rate: 1000 - Item: Center_Potion Rate: 700
实现方法
1. 手动修改(适合数据量少的情况)
直接逐个检查每个条目的Rate值,把大于5000的数值改成5000即可,操作简单直接。
2. 脚本批量处理(适合数据量大的情况)
如果有大量这类YAML条目需要处理,可以用Python脚本自动完成:
- 先安装PyYAML库:
pip install pyyaml - 运行以下脚本:
import yaml # 读取原始YAML内容(也可替换为读取文件) raw_yaml = """ - Item: Oldman's_Romance Rate: 50 - Item: Grasshopper's_Leg Rate: 8000 - Item: Azure_Jewel Rate: 9000 - Item: Grasshopper_Doll Rate: 1500 - Item: Angel's_Arrival Rate: 1000 - Item: Center_Potion Rate: 700 """ # 解析YAML data = yaml.safe_load(raw_yaml) # 批量处理Rate字段 for item in data: if isinstance(item.get('Rate'), int) and item['Rate'] > 5000: item['Rate'] = 5000 # 输出处理后的YAML print(yaml.dump(data, sort_keys=False, default_flow_style=False, allow_unicode=True))
脚本会自动识别并修改所有超标的Rate值,直接输出处理后的结果。
内容的提问来源于stack exchange,提问作者khnkhymkh
相关产品推荐
相关产品推荐

