我有一个 csv 文件,其中包含标题包含键和单元格包含值的数据。我想使用 python 从 csv 文件的内容创建一个 yaml 文件。
我创建了一个 K:V 对的字典;但是,我一直在尝试将 K:V 对放入 yaml 文件中。
yaml 的结构必须是:
key1: value1
key2: value2
key3:
- key4: value4
key5: {key6: [value6]
key7: value7
key8: value8
key9: value9
-
-
---
Run Code Online (Sandbox Code Playgroud)
如果我手动创建这些,我将拥有 1000 多个 YAML,因此非常耗时且不切实际。
我正在寻找您更有经验的人可能有的任何想法。
我真的希望输出遍历字典以创建一个巨大的 YAML 列表,如下所示:
key1: value1
key2: value2
key3:
- key4: value4
key5: {key6: [value6]
key7: value7
key8: value8
key9: value9
-
-
---
key1: value1
key2: value2
key3:
- key4: value4
key5: {key6: [value6]
key7: value7
key8: …Run Code Online (Sandbox Code Playgroud) 我在 YAML 中有一个配置文件,当前使用 yaml.safe_load 作为字典加载。为了方便编写我的代码,我更愿意将它作为一组嵌套对象加载。引用字典的更深层次很麻烦,并且使代码更难阅读。
例子:
import yaml
mydict = yaml.safe_load("""
a: 1
b:
- q: "foo"
r: 99
s: 98
- x: "bar"
y: 97
z: 96
c:
d: 7
e: 8
f: [9,10,11]
""")
Run Code Online (Sandbox Code Playgroud)
目前,我访问诸如
mydict["b"][0]["r"]
>>> 99
Run Code Online (Sandbox Code Playgroud)
我希望能够做的是访问相同的信息,如
mydict.b[0].r
>>> 99
Run Code Online (Sandbox Code Playgroud)
有没有办法像这样将 YAML 加载为嵌套对象?或者我是否必须滚动自己的类并递归地将这些字典翻转为嵌套对象?我猜namedtuple可以让这更容易一些,但我更喜欢整个事情的现成解决方案。