2013-02-25 28 views
1

我想使用python igraph庫加載.net文件。下面是示例代碼:閱讀.net pajek文件使用python igraph庫

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 

請提供一些暗示了它。

回答

2

您的文件不是普通的Pajek文件,或者igraph的Pajek解析器無法讀取這個特定的Pajek文件。 (由於Pajek文件格式沒有正式的說明,因此編寫一個Pajek解析器有點不切實際)。如果您通過電子郵件向我發送您的Pajek文件,我會查看它。

更新:您錯過了Pajek文件的*Vertices部分。添加一條線,如*Vertices N(其中N是圖中頂點的數量)可以解決您的問題。我不能說這行在Pajek文件中是強制性的,因爲缺少對文件格式的正式規範,但到目前爲止我看到的所有Pajek文件都包含這一行,所以我猜這是非常標準的。

+0

謝謝@Tamas。我剛剛發送了用戶名爲quamar niyaz @ gmail.com的.net pajek文件。 Kinly看看它。 – user976754 2013-02-25 10:45:41

+0

查看我答案中的更新。 – 2013-02-25 10:56:12

+0

謝謝@Tamas,我通過這樣做了檢查,但我認爲文件格式有問題。但第二個文件運行良好,加入 * Vertices N. – user976754 2013-02-25 12:54:28