Package networkx :: Package readwrite :: Module edgelist
[hide private]
[frames] | no frames]

Module edgelist

source code

Read and write NetworkX graphs.

Note that NetworkX graphs can contain any hashable Python object as node (not just integers and strings). So writing a NetworkX graph as a text file may not always be what you want: see write_gpickle and gread_gpickle for that case.

This module provides the following :

Edgelist format: Useful for connected graphs with or without edge data.

write_edgelist(G, path) G=read_edgelist(path)



Date:  

Author: Aric Hagberg (hagberg@lanl.gov) Dan Schult (dschult@colgate.edu)

Functions [hide private]
 
write_edgelist(G, path, comments='#', delimiter=' ')
Write graph G in edgelist format on file path.
source code
 
read_edgelist(path, comments='#', delimiter=' ', create_using=None, nodetype=None, edgetype=None)
Read graph in edgelist format from path.
source code
 
_test_suite() source code
Variables [hide private]
  __credits__ = ''
  __revision__ = ''
Function Details [hide private]

write_edgelist(G, path, comments='#', delimiter=' ')

source code 

Write graph G in edgelist format on file path.

See read_edgelist for file format details.

>>> write_edgelist(G, "file.edgelist")

path can be a filehandle or a string with the name of the file.

>>> fh=open("file.edgelist")
>>> write_edgelist(G,fh)

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

>>> write_edgelist(G, "file.edgelist.gz")

The file will use the default text encoding on your system. It is possible to write files in other encodings by opening the file with the codecs module. See doc/examples/unicode.py for hints.

>>> import codecs
>>> fh=codecs.open("file.edgelist",encoding='utf=8') # use utf-8 encoding
>>> write_edgelist(G,fh)

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

source code 

Read graph in edgelist format from path.

>>> G=read_edgelist("file.edgelist")

path can be a filehandle or a string with the name of the file.

>>> fh=open("file.edgelist")
>>> G=read_edgelist(fh)

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

>>> G=read_edgelist("file.edgelist.gz")

nodetype is an optional function to convert node strings to nodetype

For example

>>> G=read_edgelist("file.edgelist", 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.)

create_using is an optional networkx graph type, the default is Graph(), a simple undirected graph

>>> G=read_edgelist("file.edgelist",create_using=DiGraph())

The comments character (default='#') at the beginning of a line indicates a comment line.

The entries are separated by delimiter (default=' '). If whitespace is significant in node or edge labels you should use some other delimiter such as a tab or other symbol.

Example edgelist file format:

# source target
a b
a c
d e

or for an XGraph() with edge data

# source target data a b 1 a c 3.14159 d e apple