如何在python中读取点文件作为邻接矩阵?

时间:2018-02-25 02:32:40

标签: python dot

我正在尝试使用pymetis在点文件中对图表进行分区。 Pymetis采用邻接矩阵。如何使用有向图读取点文件以生成可以传递给pymetis.part_graph()的邻接矩阵?

点文件有这种格式的图表:

digraph {
    a -> b[label="0.2",weight="0.2"];
    a -> c[label="0.4",weight="0.4"];
    c -> b[label="0.6",weight="0.6"];
    c -> e[label="0.6",weight="0.6"];
    e -> e[label="0.1",weight="0.1"];
    e -> b[label="0.7",weight="0.7"];
}

这是我到目前为止读取点文件的代码:

import os
import dot_tools

file = open("test.dot", 'r')
text = file.read()
tree = dot_tools.parse(text)
print tree

输出:

1:Graphs
3:Graph
0:digraph
0:graph_1001
1:Stmts
6:Edges
3:->
0:a
0:b
2:Attrs
2:=
0:label
0:0.2
2:=
0:weight
0:0.2
3:->
0:a
0:c
2:Attrs
2:=
0:label
0:0.4
2:=
0:weight
0:0.4
3:->
0:c
0:b
2:Attrs
2:=
0:label
0:0.6
2:=
0:weight
0:0.6
3:->
0:c
0:e
2:Attrs
2:=
0:label
0:0.6
2:=
0:weight
0:0.6
3:->
0:e
0:e
2:Attrs
2:=
0:label
0:0.1
2:=
0:weight
0:0.1
3:->
0:e
0:b
2:Attrs
2:=
0:label
0:0.7
2:=
0:weight
0:0.7

我想知道是否有任何模块可以从点文件中的有向图创建邻接矩阵。

0 个答案:

没有答案