# python-igraph Raise ValueError: iterable must yield numbers when I used write\_gml

**URL:** <https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824>\
**Category:** Usage\
**Tags:** Python\
**Created:** [27 August 2021 06:36 UTC](https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824 "2021-08-27T06:36:36Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![CongjianL](https://avatars.discourse-cdn.com/v4/letter/c/e79b87/32.png) [@CongjianL](https://igraph.discourse.group/u/CongjianL)\
**Post date:** [27 August 2021 06:36 UTC](https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824/1 "2021-08-27T06:36:36Z")

</div>

I often raise a ValueError for function write\_gml, after I add some new vertices in constructed graph object. However, It works when I replace it for write\_graphml. What can I do for solving this problem.

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [27 August 2021 11:24 UTC](https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824/2 "2021-08-27T11:24:47Z")

</div>

Can you show a complete minimal example that illustrates the problem? See [http://sscce.org/](http://sscce.org/) for guidance.

---

<div class="post-metadata">

**Author:** ![CongjianL](https://avatars.discourse-cdn.com/v4/letter/c/e79b87/32.png) [@CongjianL](https://igraph.discourse.group/u/CongjianL)\
**Post date:** [28 August 2021 01:32 UTC](https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824/3 "2021-08-28T01:32:24Z")

</div>

Thanks for your reply. The minimal example following:

```python
import igraph
g = ssn.subgraph(cc) # ssn is a already constructed graph, cc represents ssn's component. 
nodes = g.vs.select(_degree_eq=1, genesNum_gt=1) # genesNum: a node attribution
for node in nodes:
      names = node['name'].split(' ')
      for name in names:
           g.add_vertex(name,name=name)
           g.add_edge(name,node)
g.write_gml(fileName)
raise ValueError: iterable must yield numbers

```

---

<div class="post-metadata">

**Author:** ![szhorvat](https://yyz2.discourse-cdn.com/free1/user_avatar/igraph.discourse.group/szhorvat/32/3_2.png) [@szhorvat](https://igraph.discourse.group/u/szhorvat)\
**Post date:** [28 August 2021 19:23 UTC](https://igraph.discourse.group/t/python-igraph-raise-valueerror-iterable-must-yield-numbers-when-i-used-write-gml/824/4 "2021-08-28T19:23:42Z")

</div>

Can you please show a _complete_ (but still minimal) example? This one relies on data that only you have.
