如何从POST API返回的YAML格式字符串提取TYPE、NAME键值对?
解析YAML字符串提取TYPE和NAME取值
你的原代码直接替换-再转JSON的方式无法正确解析内容,因为x['map_key']里的内容是标准的YAML列表格式,应该用专门的YAML解析库来处理,步骤如下:
- 先安装PyYAML库(如果未安装):
pip install pyyaml
- 使用PyYAML解析并提取值:
import yaml x = {'map_key': '- TYPE: UK\nNAME: TOM\n- TYPE: US\nNAME: BOB'} # 解析YAML格式的字符串 parsed_items = yaml.safe_load(x['map_key']) # 遍历解析后的列表,提取每组TYPE和NAME for item in parsed_items: type_value = item['TYPE'] name_value = item['NAME'] # 这里可以根据需求处理提取到的值,比如打印或存储 print(f"TYPE: {type_value}, NAME: {name_value}")
运行这段代码后,会输出:
TYPE: UK, NAME: TOM TYPE: US, NAME: BOB
yaml.safe_load()会把原字符串解析为一个包含两个字典的列表,每个字典对应一组TYPE和NAME键值对,这样就能直接通过键名提取对应的值。
内容的提问来源于stack exchange,提问作者Markus
相关产品推荐
相关产品推荐

