我在这个程序中尝试做的是使用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()。
答案 0 :(得分:0)
尝试在python脚本的开头添加以下字符串:
# -*- coding: utf-8 -*-