我正在尝试将我的Facebook网络的graphml文件读入到NetworkX中。但是,由于我的一些朋友有不寻常的字符,例如重音,他们的名字无法被读入networkx。如何使用奇怪的字符将graphml文件读入networkx中?
我跑的命令:
g = nx.read_graphml("/Users/juliehui/Desktop/MyGraph.graphml")
然后我得到的错误:
TypeError: int() argument must be a string or a number, not 'NoneType'
我看着在崇高的文本的graphml文件,它似乎与名称,如麻烦Andrés
然后我看着Gephi中的graphml文件,看看它的样子。这个名字,安德烈斯,在Gephi样子:
Andrés
当我导出数据,而不进行任何编辑到一个单独的graphml文件,并尝试读取这个文件,我得到的错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-8: ordinal not in range(128)
当我删除Gephi中的问题名称时,文件读取正常。
我不确定是否有某种方法可以编辑我的原始graphml文件来修复不常用字符的名称。
我看过这个网页: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