Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.readwrite.adjlist.read_adjlist

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

Read graph in adjacency list format from path.

Parameters
pathstring or file

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

create_usingNetworkX graph constructor, optional (default=nx.Graph)

Graph type to create. If graph instance, then cleared before populated.

nodetypePython type, optional

Convert nodes to this type.

commentsstring, optional

Marker for comment lines

delimiterstring, optional

Separator for node labels. The default is whitespace.

Returns
G: NetworkX graph

The graph corresponding to the lines in adjacency list format.

See also

write_adjlist

Notes

This format does not store graph or node data.

Examples

>>> 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 indicates the type of NetworkX graph created. The default is nx.Graph, an undirected graph. To read the data as a directed graph use

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