2017-07-17 139 views
1

我是networkx的新手,无法弄清楚如何读取特定格式的数据。网络 - 在一个节点和一个节点列表之间创建边线

我有一些数据,看起来像(节点,它是连接到节点列表),像这样:

('person 1', 'person 2, person 3, person 4') 

我想补充的边缘,使它们看起来就像这样:

('person 1', 'person 2') 
('person 1', 'person 3') 
('person 1', 'person 4') 

有没有办法指定第一个节点,并遍历一个列表来获取剩余的节点?在我的csv文件中,一列是主节点,第二列是它连接的节点列表,但我无法弄清楚如何一次添加它们。

回答

0

虽然没有bultin方法,但您可以使用Python切片和列表理解将它们添加到一行中。

import networkx as nx 

G = nx.Graph() 
nodes = list("ABCD") 
G.add_nodes_from(nodes) 
G.add_edges_from([(nodes[0],node) for node in nodes[1:]]) 

节点[1:]是与所述第一项目列表跳过

相关问题