python – 从GML文件中提取数据
发布时间:2020-12-20 11:25:29 所属栏目:Python 来源:网络整理
导读:我有一个GML(图形(不是涂鸦)建模语言)文件,我想从中创建ID到标签的映射.我不知道如何做到这一点,因为我的列表操作似乎不起作用.我尝试使用指定如何使用两个分隔符的示例,但它不适用于我的文件. 有人可以指导我吗? GML文件排列如下: graph [ node [ id 0 la
我有一个GML(图形(不是涂鸦)建模语言)文件,我想从中创建ID到标签的映射.我不知道如何做到这一点,因为我的列表操作似乎不起作用.我尝试使用指定如何使用两个分隔符的示例,但它不适用于我的文件.
有人可以指导我吗? GML文件排列如下: graph [ node [ id 0 label "24" ] node [ id 1 label "25" ] node [ id 2 label "26" ] node [ id 3 label "27" ] node [ id 4 label "20" ] node [ id 5 label "21" ] (... some more nodes) edge [ source 0 target 75 weight 4 ] edge [ source 0 target 68 weight 2 ] (many more edges) ] 我想提取每个节点块中的数据,并创建节点ID到节点标签的映射.例如,第一个节点的映射将是0-> 24,依此类推.我并不担心边缘信息. 在此先感谢您的帮助. 解决方法
如果您可以使用NetworkX(Python),您可以像这样读取文件(t.gml是您的文件)并获取映射
In [1]: import networkx as nx In [2]: G = nx.read_gml('t.gml') In [3]: G.node Out[3]: {0: {'id': 0,'label': u'24'},1: {'id': 1,'label': u'25'},2: {'id': 2,'label': u'26'},3: {'id': 3,'label': u'27'},4: {'id': 4,'label': u'20'},5: {'id': 5,'label': u'21'}} 例如 In [4]: G.node[0]['label'] Out[4]: u'24' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |