原始输出和输入网络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
我需要在不同的文件位置之间移动一些 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