程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

从GML文件中提取数据

发布于2019-12-31 05:12     阅读(2820)     评论(0)     点赞(28)     收藏(4)


我有一个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'


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/194191/6cc7b77500e16ad48bd3/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

28 0
收藏该文
已收藏

评论内容:(最多支持255个字符)