使用python networkx的邻接列表创建网络
我正在尝试使用使用python networkx的邻接列表创建网络,python,networkx,Python,Networkx,我正在尝试使用networkx创建一个图形,但由于某些原因,我没有得到它 “graph”json文件如下所示: graph = {'A': ['B', 'C', 'E'], 'B': ['A','D', 'E'], 'C': ['A', 'F', 'G'], 'D': ['B'], 'E': ['A', 'B','D'], 'F': ['C'], 'G': []} 我正在使用这个代码 G
networkx
创建一个图形,但由于某些原因,我没有得到它
“graph”json文件如下所示:
graph = {'A': ['B', 'C', 'E'],
'B': ['A','D', 'E'],
'C': ['A', 'F', 'G'],
'D': ['B'],
'E': ['A', 'B','D'],
'F': ['C'],
'G': []}
我正在使用这个代码
G = nx.read_adjlist("graph.json", create_using=nx.DiGraph())
nx.draw_networkx(G)
输出:
根据邻接列表“图形”,这是不对的
干杯 使用
read_adjlist
命令时,它需要一个输入文本文件
我猜想,如果您查看原始文本中的文件,它看起来像:
“A”、[“B”、“C”、“E”]、“B”:[“A”、“D”、“E”]、“C”:[“A”、“F”、“G”]、“D”:[“B”]、“E”:[“A”、“B”、“D”]、“F”:[“C”]、“G”
它将其解释为逗号分隔的变量字符串。因此,首先是字符串“A”
(双引号作为字符串的一部分)
这是您的第一个节点。每个字符串都成为第一个节点的邻居。前四个是[“B”
,“C”
,“E”]
和“B”
那么你需要做什么呢?查看并找到网络存储方式的相应版本(或修改网络存储,使其具有这些格式之一)。能否包含指向所用文档的链接?我有,JSON不是该版本中adjlist的合法格式。这正是我使用@Prune的链接,没有合法格式意味着什么?Adjacence格式是一个文本文件,如数据所示。该页面没有提到JSON。还有其他一些在JSON和邻接格式之间转换的例程,但是
read_adjlist
只处理定义的格式。谢谢您的时间。您是否有任何建议来存储我已经拥有的数据类型?谢谢