parse_edgelist¶
- parse_edgelist(lines, comments='#', delimiter=None, create_using=None, nodetype=None, data=True)[source]¶
Parse lines of an edge list representation of a bipartite graph.
- Parameters
- lineslist or iterator of strings
Input data in edgelist format
- commentsstring, optional
Marker for comment lines
- delimiterstring, optional
Separator for node labels
- create_using: NetworkX graph container, optional
Use given NetworkX graph for holding nodes or edges.
- nodetypePython type, optional
Convert nodes to this type.
- databool or list of (label,type) tuples
If False generate no edge data or if True use a dictionary representation of edge data or a list tuples specifying dictionary key names and types for edge data.
- Returns
- G: NetworkX Graph
The bipartite graph corresponding to lines
Examples
Edgelist with no data:
>>> from networkx.algorithms import bipartite >>> lines = ["1 2", "2 3", "3 4"] >>> G = bipartite.parse_edgelist(lines, nodetype=int) >>> sorted(G.nodes()) [1, 2, 3, 4] >>> sorted(G.nodes(data=True)) [(1, {'bipartite': 0}), (2, {'bipartite': 0}), (3, {'bipartite': 0}), (4, {'bipartite': 1})] >>> sorted(G.edges()) [(1, 2), (2, 3), (3, 4)]
Edgelist with data in Python dictionary representation:
>>> lines = ["1 2 {'weight':3}", "2 3 {'weight':27}", "3 4 {'weight':3.0}"] >>> G = bipartite.parse_edgelist(lines, nodetype=int) >>> sorted(G.nodes()) [1, 2, 3, 4] >>> sorted(G.edges(data=True)) [(1, 2, {'weight': 3}), (2, 3, {'weight': 27}), (3, 4, {'weight': 3.0})]
Edgelist with data in a list:
>>> lines = ["1 2 3", "2 3 27", "3 4 3.0"] >>> G = bipartite.parse_edgelist(lines, nodetype=int, data=(("weight", float),)) >>> sorted(G.nodes()) [1, 2, 3, 4] >>> sorted(G.edges(data=True)) [(1, 2, {'weight': 3.0}), (2, 3, {'weight': 27.0}), (3, 4, {'weight': 3.0})]