Graphml解析错误

1 投票
2 回答
1706 浏览
提问于 2025-04-17 10:47

我尝试用Python和igraph库创建一个graphml文件。我可以构建igraph的图对象,并用以下代码把它写入文件:

g.write_graphml("mygraph.graphml")

一切看起来都很顺利,但当我尝试用以下代码把文件读回Python时:

g = Graph.Read_GraphML('mygraph.graphml')

我遇到了这个错误:

igraph.core.InternalError: Error at .\src\foreign-graphml.c:1024: 
Input is not proper UTF-8, indicate encoding ! Bytes: 0xA0 0x3C 0x2F 0x64

请问我该怎么解决这个问题呢?非常感谢。

2 个回答

0

我觉得问题可能是因为出现了无效的Unicode字节序列,但没有你的文件我只能猜测。

我认为你可能是从一个不是Unicode编码的文件中加载了字符串,然后直接使用它,而没有转换成Unicode编码。请尝试按照这个帖子的方法把这些字符串转换成Unicode。

一只忙碌的猫 http://goo.gl/CFGYf

1

我已经看过这个库的源代码了。我觉得这个库只能输出UTF-8编码的XML文件。所以所有的字符都必须是UTF-8编码的,如果文件里有一些不是UTF-8编码的字符,就会出现错误。

解决办法:

你应该在你的Python应用程序中,把所有的字符串都转换成UTF-8编码,然后再使用,具体方法可以参考这里

希望这能帮到你。

撰写回答