Я пытаюсь прочитать в графическом файле моей сети facebook в NetworkX. Однако, поскольку у некоторых моих друзей необычные персонажи, такие как акценты, их имена не могут быть прочитаны в networkx.Как читать в графическом файле в networkx со странными символами?
я выполнил команду:
g = nx.read_graphml("/Users/juliehui/Desktop/MyGraph.graphml")
Я тогда получаю ошибку:
TypeError: int() argument must be a string or a number, not 'NoneType'
Я посмотрел на файл GraphML в Sublime Text, и, кажется, есть проблема с именами, такими как Andrés
Затем я посмотрел графический файл в Gephi, чтобы посмотреть, как он выглядит. Имя, Андрес, в Gephi выглядит следующим образом:
Andrés
Когда я экспортировать данные без внесения каких-либо изменений в отдельный файл GraphML, и попытаться прочитать этот файл, я получаю ошибку:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-8: ordinal not in range(128)
Когда я удаляю имена проблем в Gephi, файл отлично читается.
Я не уверен, есть ли способ редактировать исходный файл-граф, чтобы исправить имена с необычными символами.
Я смотрел на эту страницу: Graphml parse error Но я не мог понять, если мой файл GraphML в UTF-8 или должен быть в кодировке UTF-8 или должна быть в ASCII?
Я также попытался:
data="/Users/juliehui/Desktop/MyGraph.graphml"
udata=data.decode("utf-8")
asciidata=udata.encode("ascii","ignore")
g = nx.read_graphml(asciidata)
Но это дало ошибку:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-19: ordinal not in range(128)
Как решить эту ошибку?
Приятный и аккуратный ответ! – Cragfelt