我正在编写从 gexf 格式读取图形、添加节点和边并将它们写回 gexf 的脚本。我的问题是 write_gexf 正在给我添加边缘 id 的边缘,这些边缘 id 已经存在于我读入的边缘中。
例如,假设我读到一个G
只有一条边的图表。
>>> import networkx as nx
>>> G = nx.read_gexf('first.gexf')
>>> G.edges(data=True)
[(0,1, {'id': '0'})]
然后我添加一条边并将图形写入 gexf:
>>> G.add_edge(1,2)
>>> G.edges(data=True)
[('0','1', {'id': '0'}), (1,2, {})]
>>> nx.write_gexf(G,'second.gexf')
现在,如果我读到“second.gexf”,我会得到两条边,“id”等于“0”。
>>> H = nx.read_gexf('second.gexf')
>>> H.edges(data=True)
[('0','1', {'id': '0'}), ('1','2', {'id': '0'})]
有没有办法避免这种情况?