Python 2.7 用python编码并用python将其写入YAML文件
我有一个Unicode,它是从CSV文件读取的: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,您应该
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文档)。