Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

read_edgelist

read_edgelist(path, comments='#', delimiter=None, create_using=None, nodetype=None, data=True, edgetype=None, encoding='utf-8')[source]

Read a graph from a list of edges.

Parameters:
  • path (file or string) – File or filename to read. If a file is provided, it must be opened in ‘rb’ mode. 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 (bool or 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’
  • encoding (string, optional) – Specify which encoding to use when reading file.
Returns:

G – A networkx Graph or other type specified with create_using

Return type:

graph

Examples

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

Edgelist with data in a list:

>>> textline = '1 2 3'
>>> fh = open('test.edgelist','w')
>>> d = fh.write(textline)
>>> fh.close()
>>> G = nx.read_edgelist('test.edgelist', nodetype=int, data=(('weight',float),))
>>> G.nodes()
[1, 2]
>>> G.edges(data = True)
[(1, 2, {'weight': 3.0})]

See parse_edgelist() for more examples of formatting.

See also

parse_edgelist()

Notes

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