python-3.4 – 读取GML图时出现意外错误
发布时间:2020-12-16 22:59:57 所属栏目:Python 来源:网络整理
导读:我已经下载了包含 dolphins social network的gml文件. 前段时间我对在Windows7机器上运行python 3.4和networkx 1.9的网络进行了一些分析,但现在我在Arch linux机器上运行(使用相同版本的python但使用networkx 1.10)并且在尝试时遇到问题读取文件. 这是用于读
我已经下载了包含
dolphins social network的gml文件.
前段时间我对在Windows7机器上运行python 3.4和networkx 1.9的网络进行了一些分析,但现在我在Arch linux机器上运行(使用相同版本的python但使用networkx 1.10)并且在尝试时遇到问题读取文件. 这是用于读取文件的代码: import networkx as nx nx.read_gml("dolphins.gml") 这是错误的堆栈跟踪: Traceback (most recent call last): File "<stdin>",line 1,in <module> File "<string>",line 2,in read_gml File "/usr/lib/python3.4/site-packages/networkx/utils/decorators.py",line 220,in _open_file result = func(*new_args,**kwargs) File "/usr/lib/python3.4/site-packages/networkx/readwrite/gml.py",line 210,in read_gml G = parse_gml_lines(filter_lines(path),label,destringizer) File "/usr/lib/python3.4/site-packages/networkx/readwrite/gml.py",line 383,in parse_gml_lines graph = parse_graph() File "/usr/lib/python3.4/site-packages/networkx/readwrite/gml.py",line 372,in parse_graph curr_token,dct = parse_kv(next(tokens)) File "/usr/lib/python3.4/site-packages/networkx/readwrite/gml.py",line 323,in tokenize (line[pos:],lineno + 1,pos + 1)) networkx.exception.NetworkXError: cannot tokenize 'graph' at (1,1) 你能读懂这个文件吗?有人经历过类似的问题吗?或者知道是什么产生错误? 先感谢您! 解决方法
在较新版本的networkx中,gml文件应遵循更具体的格式. dolphins.gml的问题是在开放方括号之前不应该有任何回车符.例如:
格式错误: graph [ directed 0 node [ id 0 label "Beak" ] . . . 格式正确: graph [ directed 0 node [ id 0 label "Beak" ] . . . 它不关心在方括号之前有多少空格,只要有多个空格并且没有回车符. 我最终做的是使用正则表达式摆脱开头方括号前的空格.以下正则表达式对我有用: s+[ 并用“[”替换它.在括号前必须至少有一个空格. 另请注意,每个节点都必须具有唯一标签. 希望它有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |