NetworkX

Previous topic

networkx.write_weighted_edgelist

Next topic

networkx.write_edgelist

networkx.read_edgelist

read_edgelist(path, comments='#', delimiter=' ', create_using=None, nodetype=None, data=True, edgetype=None)

Read a graph from a list of edges.

Parameters:

path : file or string

File or filename to write. Filenames ending in .gz or .bz2 will be uncompressed.

comments : string, optional

The character used to indicate the start of a comment.

delimiter : string, optional

The string used to separate values. The default is whitespace.

create_using : Graph container, optional,

Use specified container to build graph. The default is networkx.Graph, an undirected graph.

nodetype : int, float, str, Python type, optional

Convert node data from strings to specified type

data : list of (label,type) tuples

Tuples specifying dictionary key names and types for edge data

edgetype : int, float, str, Python type, optional OBSOLETE

Convert edge data from strings to specified type and use as ‘weight’

Returns:

G : graph

A networkx Graph or other type specified with create_using

Notes

Since nodes must be hashable, the function nodetype must return hashable types (e.g. int, float, str, frozenset - or tuples of those, etc.)

Example edgelist file formats.

Without edge data:

# read with 
# >>> G=nx.read_edgelist(fh,data=False)
# source target
a b
a c
d e

With edge data as dictionary:

# read with 
# >>> G=nx.read_edgelist(fh,data=True)
# source target data  
a b {'weight': 1}
a c {'weight': 3.14159}
d e {'fruit': 'apple'}

With arbitrary edge data:

# read with 
# >>> G=nx.read_edgelist(fh,data=[('weight',float')])
# or
# >>> G=nx.read_weighted_edgelist(fh)
# source target data  
a b 1
a c 3.14159
d e 42

Examples

>>> nx.write_edgelist(nx.path_graph(4), "test.edgelist")
>>> G=nx.read_edgelist("test.edgelist")
>>> fh=open("test.edgelist")
>>> G=nx.read_edgelist(fh)
>>> G=nx.read_edgelist("test.edgelist", nodetype=int)
>>> G=nx.read_edgelist("test.edgelist",create_using=nx.DiGraph())