Python:json文件转yaml文件

# !usr/bin/env python
# -*- coding:UTF-8 -*-
import json
from ruamel import yaml


def json2yaml(in_file):
    try:
        with open(in_file, 'r', encoding='utf-8') as f:
            data = json.load(f)
    except FileNotFoundError:
        print('无法打开指定文件')

    try:
        with open('out.yaml', 'w', encoding='utf-8') as fw:
            yaml.dump(data, fw, Dumper=yaml.RoundTripDumper, allow_unicode=True)
    except:
        print('无法写入文件!')


"""
字典是无序的 如何保证写出到yaml是顺序是正确的 ===>> 导入模块:ruamel.yaml
"""
if __name__ == '__main__':
    json2yaml('in.json')

另外,使用OrderedDict可以得到一个有序的字典:

from collections import OrderedDict
dd = OrderedDict()
dd[xxx] = 'yyy'
dd[yyy] = 'xxx'

附ruamel模块连接:https://yaml.readthedocs.io/en/latest/install.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容