如何使用UTF-8编码以gml格式(使用Python库Networkx)编写?

时间:2014-06-30 05:08:53

标签: python encoding utf-8 networkx

我在这个程序中尝试做的是使用readline()从文本文件(dblp数据集,更具体)中读取并解析它。

然后我使用Python库Networkx构建一个图形(节点是作者,如果他们一起写论文,边缘表示他们共同作者的频率,则两个作者之间存在边缘)然后将图形写入文件中gml格式。

我面临的问题是,作者的名字可能有UTF编码。在以gml格式写入文件时,我收到以下错误

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 
3: ordinal not in    range(128)

networkx中的read_gml()函数有一个编码参数,但write_gml()没有。根据我的理解,write_gml()内部使用latin-1编码。

如何以某种方式操纵它以使其适用于我的情况?

我尝试使用编解码器打开我想写的文件,但这似乎只适用于write()函数,但不适用于write_gml()。

1 个答案:

答案 0 :(得分:0)

尝试在python脚本的开头添加以下字符串:

# -*- coding: utf-8 -*-