当前位置: 代码迷 >> 综合 >> python YAML 多种数据格式
  详细解决方案

python YAML 多种数据格式

热度:99   发布时间:2024-01-05 06:24:16.0

YAML 存储有多种显示方式,共三种:

import yaml# import ruamel
data = {0: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},1: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},2: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"}}
# 输出带括号数组格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=None)# 加载yaml文件
#with open("./new3.yml") as fp:
#    y = yaml.load(fp)
#    print(y)

OUT:
0:
  K: [1, 2, 3, 4, 5, 6]
  R: [0.2, 0.3, 0.4]
  id: 99
  name: cat
1:
  K: [1, 2, 3, 4, 5, 6]
  R: [0.2, 0.3, 0.4]
  id: 99
  name: cat
2:
  K: [1, 2, 3, 4, 5, 6]
  R: [0.2, 0.3, 0.4]
  id: 99
  name: cat

# 输出文件是标准流格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=False)

OUT:

0:
  K:
  - 1
  - 2
  - 3
  - 4
  - 5
  - 6
  R:
  - 0.2
  - 0.3
  - 0.4
  id: 99
  name: cat
1:
  K:
  - 1
  - 2
  - 3
  - 4
  - 5
  - 6
  R:
  - 0.2
  - 0.3
  - 0.4
  id: 99
  name: cat
2:
  K:
  - 1
  - 2
  - 3
  - 4
  - 5
  - 6
  R:
  - 0.2
  - 0.3
  - 0.4
  id: 99
  name: cat

# 输出文件内容还是json格式
with open("./new3.yml", "w") as fpn:yaml.dump(data, fpn, default_flow_style=True)

OUT:

{0: {K: [1, 2, 3, 4, 5, 6], R: [0.2, 0.3, 0.4], id: 99, name: cat}, 1: {K: [1, 2,
      3, 4, 5, 6], R: [0.2, 0.3, 0.4], id: 99, name: cat}, 2: {K: [1, 2, 3, 4, 5,
      6], R: [0.2, 0.3, 0.4], id: 99, name: cat}}

  相关解决方案