使用 ruamel.yaml 读写 yaml 文档

官网链接: https://pypi.org/project/ruamel.yaml/

1. 安装ruamel.yaml

pip install ruamel.yaml

2. 准备yaml文件:

ChuaTony: 
  公司: 文传
  联络: 
    - 公司: '1422031030'
    - 手机: '18650144578'
    - 住家: '2233068479'
  住址: 
    - 公司: 褔建。
    - 住家: 台中。
  交通: 无
  附件: 
Tom: 
  公司: 天褔
  联络: 
    - 公司: '1422031030'
    - 手机: '18650123456'
    - 住家: '2233061234'
  住址: 
    - 公司: 褔建。
    - 住家: 台北。
  交通: 自行车

3. 验证yaml格式:https://www.bejson.com/

4. 

import ruamel.yaml
 
#开档
with open("人资.yaml", "r",encoding="utf-8") as docs:
    try:
        alldata = ruamel.yaml.safe_load(docs)
    except ruamel.yaml.YAMLError as exc:
        print(exc)
 
#印出
for data in alldata:
    print(alldata[data]['联络'])
 
#修改
alldata['Tom']['联络'][0]['公司']='963852741'
 
#写档
with open('人资1.yaml', 'w+', encoding='utf8') as outfile:
    ruamel.yaml.dump(alldata, outfile, default_flow_style=False, allow_unicode=True)

 

posted @ 2018-12-26 18:29  蒋励  阅读(3354)  评论(0编辑  收藏  举报