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


read_adjlist(path, comments='#', delimiter=None, create_using=None, nodetype=None, encoding='utf-8')[source]

Read graph in adjacency list format from path.

Parameters :

path : string or file

Filename or file handle to read. Filenames ending in .gz or .bz2 will be uncompressed.

create_using: NetworkX graph container

Use given NetworkX graph for holding nodes or edges.

nodetype : Python type, optional

Convert nodes to this type.

comments : string, optional

Marker for comment lines

delimiter : string, optional

Separator for node labels. The default is whitespace.

create_using: NetworkX graph container

Use given NetworkX graph for holding nodes or edges.

Returns :

G: NetworkX graph

The graph corresponding to the lines in adjacency list format.

See also



This format does not store graph or node data.


>>> G=nx.path_graph(4)
>>> nx.write_adjlist(G, "test.adjlist")
>>> G=nx.read_adjlist("test.adjlist")

The path can be a filehandle or a string with the name of the file. If a filehandle is provided, it has to be opened in ‘rb’ mode.

>>> fh=open("test.adjlist", 'rb')
>>> G=nx.read_adjlist(fh)

Filenames ending in .gz or .bz2 will be compressed.

>>> nx.write_adjlist(G,"test.adjlist.gz")
>>> G=nx.read_adjlist("test.adjlist.gz")

The optional nodetype is a function to convert node strings to nodetype.

For example

>>> G=nx.read_adjlist("test.adjlist", nodetype=int)

will attempt to convert all nodes to integer type.

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

The optional create_using parameter is a NetworkX graph container. The default is Graph(), an undirected graph. To read the data as a directed graph use

>>> G=nx.read_adjlist("test.adjlist", create_using=nx.DiGraph())