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


read_gml(path, label='label', destringizer=None)[source]

Read graph in GML format from path.

  • path (filename or filehandle) – The filename or filehandle to read from.
  • label (string, optional) – If not None, the parsed nodes will be renamed according to node attributes indicated by label. Default value: ‘label’.
  • destringizer (callable, optional) – A destringizer that recovers values stored as strings in GML. If it cannot convert a string to a value, a ValueError is raised. Default value : None.

G – The parsed graph.

Return type:

NetworkX graph


NetworkXError – If the input cannot be parsed.


GML files are stored using a 7-bit ASCII encoding with any extended ASCII characters (iso8859-1) appearing as HTML character entities. Without specifying a stringizer/destringizer, the code is capable of handling int/float/str/dict/list data as required by the GML specification. For other data types, you need to explicitly supply a stringizer/destringizer.

For additional documentation on the GML file format, please see the GML website.

See the module docstring networkx.readwrite.gml for more details.


>>> G = nx.path_graph(4)
>>> nx.write_gml(G, 'test.gml')
>>> H = nx.read_gml('test.gml')