使用NetworkX读取图形数据的文本文件

时间:2016-12-12 18:34:10

标签: graph networkx

我对networkX很新。所以在非常基本的事情上有问题。

我在文本文件中使用以下格式的网络数据:

InNode  OutNode

 N1       N5
 N2       N4
 N3       N6
 N2       N2
 N4       N7

我的问题如下:

1)如何使用networkX读取数据,以便获取图形之间的节点和边缘?

2)如何计算网络的自我边缘(N2,N2)?

我尝试了以下代码。但它没有给我正确答案。

import matplotlib
import networkx as net
import urllib
import csv


g = net.Graph()

f1 = csv.reader(open("data.txt","rb"))

for row in f1: 
    g.add_nodes_from(row)

len(g)

g.number_of_nodes()

1 个答案:

答案 0 :(得分:7)

请找到解决方案。这可能对像我这样的人有所帮助:

# Reading the file. "DiGraph" is telling to reading the data with node-node. "nodetype" will identify whether the node is number or string or any other type.


g = nx.read_edgelist("data.txt",create_using=nx.DiGraph(), nodetype = int)

# check if the data has been read properly or not.

nx.info(g)

# count the number of nodes

g.number_of_nodes()

# number of self-nodes

g.selfloop_edges()