1

我尝试使用 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

请问我该如何解决?非常感谢。

4

2 回答 2

1

我已经看到了库源代码。我认为库只能输出 UTF-8 XML 编码。所以所有字符都必须是 UTF-8 编码,如果文件中包含一些非 UTF-8 字符,则会引发错误。

解决方案:

在使用之前,您应该将 python 应用程序中的所有字符串转换为 UTF-8 编码,如此处所述

希望这有帮助。

于 2012-01-22T01:15:27.403 回答
0

我认为问题应该来自 Unicode 无效字节序列问题但没有你的文件我只能猜测。

我认为您可以从非 Unicode 编码文件加载字符串并直接使用它而不转换为 Unicode 编码。请尝试通过查看这篇文章将这些字符串转换为 Unicode。

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

于 2012-02-05T00:06:19.013 回答