2012-01-21 4 views
0

Я попытался создать графический файл, используя библиотеку python и igraph. Я могу построить объект графа igraph и написал его в файл с помощью:Ошибка анализа диаграммы

g.write_graphml("mygraph.graphml") 

Все, кажется, чтобы быть успешным, но когда я попытался прочитать файл обратно питона с помощью:

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 

Как я могу решить это, пожалуйста? спасибо.

+0

У вас есть какие-либо специальные символы (например, акцентированные буквы или буквы из азиатских сценариев) в ваших вершинных или краевых атрибутах? –

ответ

1

Я уже вижу исходный код библиотеки. Я думаю, что библиотека может выводить только кодировку XML UTF-8. Таким образом, все символы должны быть кодировкой UTF-8, и если в файле содержится не-символ UTF-8, будут возникать ошибки.

Решение:

Вы должны преобразовать все строки в приложении питона в UTF-8 кодировкой перед использованием, как описано here

Надежда эта помощь.

0

Я думаю, проблема должна исходить из Unicode недопустимой последовательности байтов, но без вашего файла я могу только догадываться.

Я думаю, вы можете загрузить строку из файла кодировки, отличного от Юникода, и использовать его напрямую без преобразования в кодировку Unicode. Попробуйте преобразовать эти строки в Юникод, посмотрев этот пост.

a busy cat http://goo.gl/CFGYf