之前介绍过读取yaml文件输出json,今天介绍下使用Python的yaml模块将JSON转换为YAML格式。
pip install pyyaml
import yaml
json_data = {
"name": "John",
"age": 30,
"city": "New York"
}
yaml_data = yaml.dump(json_data)
print(yaml_data)
age: 30
city: New York
name: John
import yaml
data = {
'fruits': ['apple', 'banana', 'cherry'],
'colors': {
'red': '#FF0000',
'green': '#00FF00',
'blue': '#0000FF'
}
}
yaml_data1 = yaml.dump(data)
print(yaml_data1)
yaml_data2 = yaml.dump(data, default_flow_style=True)
print(yaml_data2)
yaml_data3 = yaml.dump(data, default_flow_style=False)
print(yaml_data3)
colors:
blue: '#0000FF'
green: '#00FF00'
red: '#FF0000'
fruits:
- apple
- banana
- cherry
流样式输出:
{colors: {blue: '#0000FF', green: '#00FF00', red: '#FF0000'}, fruits: [apple, banana, cherry]}
块样式输出:
colors:
blue: '#0000FF'
green: '#00FF00'
red: '#FF0000'
fruits:
- apple
- banana
- cherry
因此,通过使用default_flow_style参数,可以更好地控制PyYAML在将Python对象转换为YAML格式时所使用的输出样式。
您可以使用一些可选参数来自定义输出格式,例如缩进、宽度等。以下是一个示例:
import yaml
json_data = {
"name": "John",
"age": 30,
"city": "New York"
}
yaml_data = yaml.dump(json_data, indent=4, width=80)
print(yaml_data)
在这个例子中,我们使用了indent和width参数来控制输出格式。indent指定了缩进空格数,width指定了每一行的最大字符数。执行上述代码后,将会得到类似下面的输出结果:
age: 30
city: New York
name: John
通过使用Python的yaml模块,我们可以轻松地将JSON数据转换为YAML格式。这使得我们可以在数据交换和存储过程中自由地使用这两种流行的格式之一。
(以上都是通过ChatGPT写的,我试过了可以用哈哈哈哈)
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有