使用 PyYAML 将 NumPy 数组保存到 YAML 文件中时,默认会添加大量元数据,以便在加载文件时可以还原实际数组。例如:
有没有一种方法可以告诉PyYAML将NumPy数组处理成标准列表,而不必手动转换每个数组?
import numpy as np
import yaml
a = np.array([1, 2, 3])
print(yaml.dump(a))
导致
!!python/object/apply:numpy.core.multiarray._reconstruct
args:
- !!python/name:numpy.ndarray ''
- !!python/tuple
- 0
- !!binary |
Yg==
state: !!python/tuple
- 1
- !!python/tuple
- 3
- !!python/object/apply:numpy.dtype
args:
- i8
- false
- true
state: !!python/tuple
- 3
- <
- null
- null
- null
- -1
- -1
- 0
- false
- !!binary |
AQAAAAAAAAACAAAAAAAAAAMAAAAAAAAA
然而,我并不关心恢复精确的NumPy数组,而是需要生成的YAML与其他应用程序兼容。因此,我希望将数组转储为正常序列,即像这样:
- 1
- 2
- 3
有没有一种方法可以告诉PyYAML将NumPy数组处理成标准列表,而不必手动转换每个数组?