原始输出和输入网络x

Raw Output and Input Networkx

我需要在不同的文件位置之间移动一些 networkx 图,想知道最好的方法。

在参考文档 (https://networkx.org/documentation/networkx-1.10/reference/convert.html) 中,没有任何格式可以在对我来说至关重要的节点中保留数据。

当我尝试使用 nx.to_dict_of_dicts 方法时,这也不会保留所有节点数据。

有没有办法将图表转换为原始形式的字典,然后可以将其复制并粘贴到另一个 python 脚本中,以便程序包再次理解它?

你可以为此使用泡菜:

import pickle

# Save (serialize)
pickle.dump(graph, open( "graph.p", "wb" ) )

# Load
graph = pickle.load( open( "graph.p", "rb" ) )

它将序列化您的图形对象(将 Python 对象以二进制形式保存到磁盘)。然后,您将能够从此文件加载 Python 对象(此处为您的 networkx 图)。

并且在 networkx 中有专门的功能用于:

read_gpickle()
write_gpickle()

参见:https://networkx.org/documentation/stable/reference/readwrite/gpickle.html

事实上,networkx 为这个用例提供了其他选项: https://networkx.org/documentation/stable/reference/readwrite/index.html