我用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}$
GEXF格式只在数据类型相当简单的情况下指定一个集合。 在您的示例中,您将边缘数据属性“likes”设置为列表
这不是由GEXF编写器处理的。在
如果你坚持使用字符串、数字等,那么你就不会遇到这个问题。在
相关问题 更多 >
编程相关推荐