【问题标题】:How to serialize networkx (python) node to json format?如何将networkx(python)节点序列化为json格式?
【发布时间】:2012-11-11 00:36:32
【问题描述】:

我有一个 networkx 图,我想通过使用 json 格式的连接发送一个节点(包括它的属性)。我知道如何序列化整个图:

import networkx as nx
from networkx.readwrite import json_graph
G=nx.Graph()
G.add_node(1)
G.node[1]["name"]="alice"
G.add_node(2)
G.add_edge(1,2)
print json.dumps(json_graph.node_link_data(G))

但是,我没有找到序列化单个节点的方法,例如

print json.dumps(json_graph.node_data(G.node[1]))

有没有办法做到这一点?

【问题讨论】:

  • 在我看来这是可行的。当您尝试发送此数据时是否遇到错误?

标签: python json serialization nodes networkx


【解决方案1】:

您可以在节点或 (node,data) 的元组上调用 json.dumps()。 这同样适用于边缘。例如:

In [1]: import networkx as nx

In [2]: G=nx.Graph()

In [3]: G.add_node(1,color='red',size=75)

In [4]: G.add_node(2,color='blue',size=33)

In [5]: import json

In [6]: json.dumps(G.nodes(data=True))  # all nodes
Out[6]: '[[1, {"color": "red", "size": 75}], [2, {"color": "blue", "size": 33}]]'

In [7]: json.dumps((1,G.node[1])) # (node, data) tuple
Out[7]: '[1, {"color": "red", "size": 75}]'

【讨论】:

    猜你喜欢
    • 2021-04-16
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 2015-06-30
    • 2016-08-21
    • 2021-08-17
    • 2018-09-15
    • 2021-04-27
    相关资源
    最近更新 更多