The syntax G[u][v]=thing creates an entry in the adjacency list data structure that doesn't match the graph data structure. So at that point the data structure has been corrupted. While we provide G[u][v] to report edge attributes, they should not be assigned to without using data structure dependent syntax.
To add an edge attrbute to an edge that already exists:
> G[id][nbr_id][key] = row[key]
or # works whether edge exists or not
> G.add_edge(id, nbr_id, key = row[key])
Dan
> --
> You received this message because you are subscribed to the Google Groups "networkx-discuss" group.
> To post to this group, send email to networkx...@googlegroups.com.
> To unsubscribe from this group, send email to networkx-discu...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/networkx-discuss?hl=en.
>
print networkx.__version__
You should probably get a newer version. Or, if you're up
for learning a little more python, you could take the code for
write_adjlist() which isn't too long and make a custom writer
for your application.
Dan