read_weighted_edgelist#

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

Read a graph as list of edges with numeric weights.

Parameters:
pathfile 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 decompressed.

commentsstring, optional

The character used to indicate the start of a comment.

delimiterstring, optional

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

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

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

nodetypeint, float, str, Python type, optional

Convert node data from strings to specified type

encoding: string, optional

Specify which encoding to use when reading file.

Returns:
Ggraph

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.)

Examples

>>> from pathlib import Path
>>> import tempfile, gzip
>>> tmp_path = Path(tempfile.gettempdir())

read_weighted_edgelist expected data of the form u v w, as is generated by write_weighted_edgelist:

>>> G = nx.Graph()
>>> G.add_weighted_edges_from([(0, 1, 1), (1, 2, 2.718), (2, 0, 10)])
>>> fpath = tmp_path / "C3_weighted.list"
>>> nx.write_weighted_edgelist(G, fpath)
>>> with open(fpath) as fh:
...     print(fh.read())
0 1 1
0 2 10
1 2 2.718
>>> H = nx.read_weighted_edgelist(fpath, nodetype=int)
>>> H.edges(data="weight")
EdgeDataView([(0, 1, 1.0), (0, 2, 10.0), (1, 2, 2.718)])