python - 使用python igraph库读取.net pajek文件

标签 python igraph

我正在尝试使用 python igraph 库加载 .net 文件。这是示例代码:

import igraph
g = igraph.read("s.net",format="pajek")

但是当我尝试运行此脚本时,出现以下错误:

Traceback (most recent call last):
File "demo.py", line 2, in <module>
g = igraph.read('s.net',format="pajek")
File "C:\Python27\lib\site-packages\igraph\__init__.py", line 3703, in read
return Graph.Read(filename, *args, **kwds)
File "C:\Python27\lib\site-packages\igraph\__init__.py", line 2062, in Read
return reader(f, *args, **kwds)
igraph._igraph.InternalError: Error at .\src\foreign.c:574: Parse error in Pajek
file, line 1 (syntax error, unexpected ARCSLINE, expecting VERTICESLINE), Parse error

请提供一些提示。

最佳答案

您的文件不是常规 Pajek 文件,或者 igraph 的 Pajek 解析器无法读取此特定 Pajek 文件。 (编写 Pajek 解析器有点碰运气,因为 Pajek 文件格式没有正式规范)。如果您通过电子邮件将您的 Pajek 文件发送给我,我会查看它。

更新:您缺少 Pajek 文件的 *Vertices 部分。添加像 *Vertices N 这样的行(其中 N 是图中的顶点数)可以解决您的问题。我不能说这一行在 Pajek 文件中是强制性的,因为缺乏文件格式的正式规范,但到目前为止我见过的所有 Pajek 文件都包含这一行,所以我猜它是相当标准的。

关于python - 使用python igraph库读取.net pajek文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15062800/

相关文章:

python - 获取与 DOM 元素关联的事件列表

python - 如何在 Markdown 标题中写入 Python 字符串变量?

python - 在 python 中将带有 NaN 的 Numpy 数组写入 CSV

r - 控制哪些边在 r 中的 igraph 网络图中可见

r - igraph 对象的顶点/节点属性

r - 在 R 中读取数据集时出错

python - 导入错误 igraph : undefined symbol

python - "for x in range(3): print x"是否保证按该顺序打印 "0, 1, 2"?

python - Pandas :计算与分组平均值的差异

r - 使用 R igraph 和 dplyr (purrr) 在列表柱图中有条件地设置边属性