我正在使用这个简单的python函数编写networkx图:
from networkx.readwrite import json_graph
def save_json(filename,graph):
g = graph
g_json = json_graph.node_link_data(g)
json.dump(g_json,open(filename,'w'),indent=2)
并尝试使用以下方式加载图表:
def read_json_file(filename):
graph = json_graph.loads(open(filename))
return graph
从这里读取函数:
http://nullege.com/codes/search/networkx.readwrite.json_graph.load
我的问题是给我错误:
AttributeError:' module'对象没有属性' load'
这是有道理的,因为很明显来自Networkx文档,没有加载方法:
所以,我的问题是如何加载包含networkx图的json文件?
答案 0 :(得分:9)
鉴于official docs的说法,我认为你正在寻找像
这样的东西def read_json_file(filename):
with open(filename) as f:
js_graph = json.load(f)
return json_graph.node_link_graph(js_graph)
即。由于json文件是使用json.dump
编写的,因此请使用json.load
来回读内容。
然后从加载的字典中创建图形。
注意:我从未使用过json_graph
包,所以我忽略了正确的选项,以便重新创建特定类型的图表。你可能想在文档中浏览它们,似乎有很多。