解决 Python ruamel.yaml 读写 yaml 文档 format 格式不一致问题
来源:互联网 发布:淘宝复制链接 编辑:程序博客网 时间:2024/06/11 05:55
使用 ruamel.yaml 过程中发现输入输出格式不一致,网上找到一个解决方案:
input:
ChuaTony: 公司: 文传 联络: - 公司: '1422031030' - 手机: '18650144578' - 住家: '2233068479' 住址: - 公司: 褔建。 - 住家: 台中。 交通: 无 附件: Tom: 公司: 天褔 联络: - 公司: '1422031030' - 手机: '18650123456' - 住家: '2233061234' 住址: - 公司: 褔建。 - 住家: 台北。 交通: 自行车 附件:
output:
ChuaTony: 交通: 无 住址: - 公司: 褔建。 - 住家: 台中。 公司: 文传 联络: - 公司: '1422031030' - 手机: '18650144578' - 住家: '2233068479' 附件: nullTom: 交通: 自行车 住址: - 公司: 褔建。 - 住家: 台北。 公司: 天褔 联络: - 公司: '963852741' - 手机: '18650123456' - 住家: '2233061234' 附件: null
格式不一致
使用:
ruamel.yaml.load(Loader=ruamel.yaml.RoundTripLoader)
ruamel.yaml.dump(Dumper=ruamel.yaml.RoundTripDumper)
或
ruamel.yaml.round_trip_load()
ruamel.yaml.round_trip_dump()
来解决
修改程式码如下:
#!/usr/bin/env python3# -*- coding: utf-8 -*-' a YAML module '__author__ = 'Chua Tony'import ruamel.yaml#开档with open("人资.yaml", "r",encoding="utf-8") as docs:try:#alldata = ruamel.yaml.load(docs, Loader=ruamel.yaml.RoundTripLoader) #使用 Loader=ruamel.yaml.RoundTripLoaderalldata = ruamel.yaml.round_trip_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, Dumper=ruamel.yaml.RoundTripDumper, indent=2, block_seq_indent=2) #使用 Dumper=ruamel.yaml.RoundTripDumperruamel.yaml.round_trip_dump(alldata, outfile, default_flow_style=False, allow_unicode=True, indent=2, block_seq_indent=2) #indent:缩进 block_seq_indent:区块缩进
output:
ChuaTony: 公司: 文传 联络: - 公司: '1422031030' - 手机: '18650144578' - 住家: '2233068479' 住址: - 公司: 褔建。 - 住家: 台中。 交通: 无 附件:Tom: 公司: 天褔 联络: - 公司: '963852741' - 手机: '18650123456' - 住家: '2233061234' 住址: - 公司: 褔建。 - 住家: 台北。 交通: 自行车 附件:
搞定!!!
0 0
- 解决 Python ruamel.yaml 读写 yaml 文档 format 格式不一致问题
- 使用 ruamel.yaml 读写 yaml 文档 Python 操作笔记
- 使用 Python ruamel.yaml 在 YAML 中添加注释说明
- yaml格式小问题
- Python 实现 Swagger yaml 格式 api 文档合并
- YAML
- YAML
- Yaml
- YAML
- YAML
- YAML
- YAML
- 用python读写yaml/json文件
- java 读写 yaml 文件
- YAML 语言格式
- YAML 语言格式
- YAML 语言格式
- YAML预研文档
- ORACLE查看表空间大小
- 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值
- Azure IoT 技术研究系列3
- python 2.7 创建问题加答案(选择题-2)生成随机的测试试卷文件
- 公司环境部署
- 解决 Python ruamel.yaml 读写 yaml 文档 format 格式不一致问题
- vs上正常,iis上出现未将对象引用设置到对象的实例
- ORACLE复制表及数据
- 网络编程
- Azure IoT 技术研究系列2
- 500 G JAVA视频网盘分享(JEECG开源社区)
- 技术-Mac下ssh远程登录与scp文件传输
- C++ Prim算法
- 事务,索引,连接查询,权限设计(面试问题)