如何解决读写GML时标签和id的NetworkX问题
我有以下示例,我以编程方式创建图形,将其写入 GML 文件,然后再次将文件读入图形。
我希望能够使用从文件加载的图形代替以编程方式创建的图形:
import networkx as nx
g = nx.Graph()
g.add_edge(1,4)
nx.write_gml(g,"test.gml")
gg = nx.read_gml("test.gml",label="label")
print(gg.edges(data=True))
test.gml 的内容如下:
graph [
node [
id 0
label "1"
]
node [
id 1
label "4"
]
edge [
source 0
target 1
]
]
python 代码中的节点 1 和 4 现在由 ID 为 0 和 1 以及标签为“1”和“4”的两个节点表示
读取文件后,我现在必须访问节点 4,如下所示:
gg['4']
代替
g[4]
对于原始图。
我当然可以确保在查找节点之前将每个节点强制转换为字符串,但这对于巨大的图形来说并不实用。
另一种方法是以编程方式创建(又一个)与 g
相同但具有整数键的图形,但这更加麻烦。
我该怎么办?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。