在python中迭代yaml列表

在python中迭代yaml列表,python,yaml,Python,Yaml,我试图建立一个yaml文件,但我遇到了麻烦。我希望层包含一个层名称列表,然后针对每个层名称,我希望列出相关的样式。这就是我到目前为止所做的: wms-server: name: weather url: ${CACHE_WMS} layers: - name: RADAR_1KM_RRAI styles: [TEMPERATURE, TEMPWINTER-LINEAR, TEMPWINTER, TEMPSUMMER-LINEAR, TEMPSUMMER,

我试图建立一个yaml文件,但我遇到了麻烦。我希望
包含一个层名称列表,然后针对每个层名称,我希望列出相关的样式。这就是我到目前为止所做的:

wms-server:
    name: weather
    url: ${CACHE_WMS}
    layers:
    - name: RADAR_1KM_RRAI
    styles: [TEMPERATURE, TEMPWINTER-LINEAR, TEMPWINTER, TEMPSUMMER-LINEAR, TEMPSUMMER, TEMPERATURE-LINEAR]
    - name: GDPS.ETA_TT
    styles: [BOLD, SIMPLE]

到目前为止,我得到的是不正确的,但我不知道如何修复它。

似乎您的yaml文件需要格式化一点。试着这样改变它:

wms-server:
  name: weather
  url: ${CACHE_WMS}
  layers:
    - name: RADAR_1KM_RRAI
      styles: [TEMPERATURE, TEMPWINTER-LINEAR, TEMPWINTER, TEMPSUMMER-LINEAR, TEMPSUMMER, TEMPERATURE-LINEAR]
    - name: GDPS.ETA_TT
      styles: [BOLD, SIMPLE]
然后,您可以使用Python列出其中的数据(如果您没有yaml库,请执行pip3安装pyyaml)

这将打印:

RADAR_1KM_RRAI
['TEMPERATURE', 'TEMPWINTER-LINEAR', 'TEMPWINTER', 'TEMPSUMMER-LINEAR', 'TEMPSUMMER', 'TEMPERATURE-LINEAR']
GDPS.ETA_TT
['BOLD', 'SIMPLE']
RADAR_1KM_RRAI
['TEMPERATURE', 'TEMPWINTER-LINEAR', 'TEMPWINTER', 'TEMPSUMMER-LINEAR', 'TEMPSUMMER', 'TEMPERATURE-LINEAR']
GDPS.ETA_TT
['BOLD', 'SIMPLE']