Sto provando ad usare NetworkX per leggere uno Shapefile e usare la funzione write_shp() per generare gli Shapefile che conterranno il nodi e spigoli (seguito questo esempio - https://networkx.github.io/documentation/latest/reference/readwrite.nx_shp.html), ma quando si tenta di eseguire il codice mi dà il seguente errore:Errore "l'oggetto 'dict' non ha attributo 'iteritems'" quando si tenta di usare NetworkX's write_shp()
Traceback (most recent call last): File
"C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in
<module>
nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line
192, in write_shp
for key, data in e[2].iteritems(): AttributeError: 'dict' object has no attribute 'iteritems'
sto usando Python 3.4 e installato tramite NetworkX pip install.
Prima di questo errore già mi aveva dato un altro che diceva "xrange non esiste" o qualcosa del genere, così ho cercato e ho appena cambiato 'xrange' in 'range' nel file nx_shp.py, che sembrava risolverlo.
Da quello che ho letto potrebbe essere correlato alla versione Python (Python2 vs Python3).
Python 3 rinominato 'dict.iteritems -> dict.items'. – Blender
oh wow Mi sento così stupido adesso, grazie per la risposta – friveraa
@Blender: No, non ha rinominato 'iteritems' in' items'. Il primo ti ha dato un iteratore (e 3.x non ha tale metodo); il secondo ti dà una vista (che è stata reindirizzata a 2.7 come 'viewitems'). – abarnert