Ошибка разбора Graphml

Я попытался создать файл graphml, используя библиотеки python и igraph. Я могу построить объект графа 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 ответа

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

Решение:

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

Надеюсь, это поможет.

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

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

http://goo.gl/CFGYf

Другие вопросы по тегам