Python 2.7 用python编码并用python将其写入YAML文件

Python 2.7 用python编码并用python将其写入YAML文件,python-2.7,encoding,pyyaml,Python 2.7,Encoding,Pyyaml,我有一个Unicode,它是从CSV文件读取的: df.iloc[0,1] Out[41]: u'EU-repr\xe6sentant udpeget' In [42]: type(df_translated.iloc[0,1]) Out[42]: unicode 我想把它作为EU repræsentant udpeget。最终的目标是将其写入字典,然后最终使用safe\u dump使用PyYAML将该dict保存到YAML文件中。然而,我很难进行编码 如果您真的需要使用PyYAML,您应该

我有一个Unicode,它是从CSV文件读取的:

df.iloc[0,1]
Out[41]: u'EU-repr\xe6sentant udpeget'

In [42]: type(df_translated.iloc[0,1])
Out[42]: unicode

我想把它作为
EU repræsentant udpeget
。最终的目标是将其写入字典,然后最终使用
safe\u dump
使用
PyYAML
将该dict保存到YAML文件中。然而,我很难进行编码

如果您真的需要使用PyYAML,您应该提供参数
encoding='utf-8'
允许\u unicode=True
安全转储()
例行公事

如果您打算升级到YAML 1.2并使用ruamel.YAML (免责声明:我是该软件包的作者),这些是 更合理的)默认值:

import sys
import ruamel.yaml

yaml = ruamel.yaml.YAML()

data = [u'EU-repr\xe6sentant udpeget']
yaml.dump(data, sys.stdout)
其中:

- EU-repræsentant udpeget

yaml
实用程序(可使用pip安装
ruamel.yaml.cmd
安装)有一个从CSV转换为yaml的选项,它可以正确处理unicode(但它基于ruamel.yaml生成yaml 1.2,而不是基于PyYAML(生成yaml 1.1文档)。