Networkx read_gml error "networkx.exception.NetworkXError: cannot tokenize u'graph' at (3, 1)"

Networkx read_gml error "networkx.exception.NetworkXError: cannot tokenize u'graph' at (3, 1)"

我正在尝试使用 networkx 读入 gml 文件(很简单吧?),但每当我尝试读入该文件时,我都会收到错误 "networkx.exception.NetworkXError: cannot tokenize u'graph' at (3, 1)" 我不太熟悉使用 gml 或 networkx,所以我无法自己诊断问题。

更奇怪的是,我的同事将 运行 对完全相同的文件执行完全相同的命令,而且它会毫无错误地执行。此时我已经多次卸载并重新安装 networkx,谁能帮助确定错误可能来自什么?

import networkx as nx
g = nx.read_gml('disciplineNetwork.gml')

回溯(最近调用最后):

File "", line 1, in

File "", line 2, in read_gml

File "/usr/local/lib/python2.7/dist-packages/networkx/utils/decorators.py", line 220, in _open_file result = func(*new_args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/networkx/readwrite/gml.py", line 210, in read_gml G = parse_gml_lines(filter_lines(path), label, destringizer)

File "/usr/local/lib/python2.7/dist-packages/networkx/readwrite/gml.py", line 383, in parse_gml_lines graph = parse_graph()

File "/usr/local/lib/python2.7/dist-packages/networkx/readwrite/gml.py", line 372, in parse_graph curr_token, dct = parse_kv(next(tokens))

File "/usr/local/lib/python2.7/dist-packages/networkx/readwrite/gml.py", line 347, in parse_kv curr_token = next(tokens)

File "/usr/local/lib/python2.7/dist-packages/networkx/readwrite/gml.py", line 323, in tokenize (line[pos:], lineno + 1, pos + 1))

networkx.exception.NetworkXError: cannot tokenize u'graph' at (3, 1)

我遇到了同样的问题,我的解决方案是降级 networkx 的版本。

是的。降级到 networkx 1.9.1 是一个很好的解决方案。您可以在 https://pypi.python.org/pypi/networkx/1.9.1 下载 networkx 1.9.1。下载 zip 文件。然后使用:pip install networkx-1.9.1.zip。这会自动卸载 networkx 1.10 并将其替换为 networkx 1.9.1。

我不确定你的 gml 文件的格式,但重新格式化你的 gml 文件可能会解决你的问题。

查看我在 上的回答。

有点老问题了,但我遇到了同样的问题,但找到了一个不需要降级 networkx 的不同解决方案(尽管确实需要另一个程序)。

如果您将 Gephi 用作图形 editor/drawing 系统(或我想象的任何其他系统),它们包含导出图形功能,可以让您以多种其他格式导出图形文件。

所以我将图表加载为 .gml,然后导出为 .graphml,networkx 可以毫无问题地加载并继续处理。

如果有帮助的话。