如何将数据框列写入 YAML 文件

How to write dataframe columns as a YAML file

我有这样的数据框:

class    params
classA   {'key1':value1,'key2':value2,'key3':value3}

我想生成这样的 yaml 文件:

class: class A
params:
  key1: value1
  key2: value2
  key3: value3

我怎样才能有效地做到这一点?

假设 params 中的数据实际上是 dict,而不仅仅是字符串,使用 pyyaml:

会非常简单

第一次安装pyyaml:

pip install pyyaml

然后配合df.to_dict()使用:

import yaml
yaml_text = yaml.dump(df.to_dict('records'))
print(yaml_text)

输出:

- class: classA
  params:
    key1: value1
    key2: value2
    key3: value3

(开头的-是数组表示法——classparams是数组中一个对象的键。那是因为df.to_dict('records')returns 对象列表。)

如果params里面的数据是字符串,如果里面包含的JSON是有效的,就可以使用built-in函数ast.literal_eval

import ast
df['params'] = df['params'].apply(ast.literal_eval)

...然后使用 yaml.dump.