Ошибка разбора 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, см. Этот пост.