如何将数据框列写入 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
(开头的-
是数组表示法——class
和params
是数组中一个对象的键。那是因为df.to_dict('records')
returns 对象列表。)
如果params
里面的数据是字符串,如果里面包含的JSON是有效的,就可以使用built-in函数ast.literal_eval
import ast
df['params'] = df['params'].apply(ast.literal_eval)
...然后使用 yaml.dump
.
我有这样的数据框:
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
(开头的-
是数组表示法——class
和params
是数组中一个对象的键。那是因为df.to_dict('records')
returns 对象列表。)
如果params
里面的数据是字符串,如果里面包含的JSON是有效的,就可以使用built-in函数ast.literal_eval
import ast
df['params'] = df['params'].apply(ast.literal_eval)
...然后使用 yaml.dump
.