使用nx.写入在Python中,用于在节点和边上有dict数据的图

2024-10-01 09:38:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python中的networkx包构造了一个图,它具有与节点和边相关联的数据属性。这些属性是字典(或列表)本身和嵌套字典。由于数据类型的原因,我不知道如何将此图写入.gexf格式(或.graphml等)。在

有没有办法让write-gexf将这些数据类型解析为XML?或者有其他的解决办法吗?在

下面是一个例子:

1 import networkx as nx
2
3 G = nx.graph()
4 G.add_node(0, attr1 = { 'name1' : 'Alice', 'name2' : 'Bob' }, attr2 = 5)
5 G.add_node(0, attr1 = { 'name1' : 'Calvin', 'name2' : 'Hobbes' }, attr2 = 6)
6 G.add_edge(0,1, likes = ['milk', 'oj'])
7
8 nx.write_gefx(G,"test.gefx")

这会产生一个错误:

^{pr2}$

Tags: networkxaddnode字典属性节点write数据类型
1条回答
网友
1楼 · 发布于 2024-10-01 09:38:22

GEXF格式只在数据类型相当简单的情况下指定一个集合。 在您的示例中,您将边缘数据属性“likes”设置为列表

G.add_edge(0,1, likes = ['milk', 'oj'])

这不是由GEXF编写器处理的。在

如果你坚持使用字符串、数字等,那么你就不会遇到这个问题。在

相关问题 更多 >