Ich versuche, mit NetworkX ein Shapefile zu lesen und mit der Funktion write_shp()
die Shapefiles zu generieren, die die Knoten und Kanten enthalten. Wenn ich jedoch versuche, den Code auszuführen, wird der folgende Fehler angezeigt:
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'
Ich verwende Python 3.4 und installiere NetworkX über die Pip-Installation.
Vor diesem Fehler war es schon mir gegeben ein anderes, auf den „xrange existiert nicht“ oder so ähnlich, so dass ich es nachgeschlagen und nur geändert , xrange
um range
in der nx_shp.py - Datei, die es zu lösen schien.
Nach dem, was ich gelesen habe, könnte es mit der Python-Version (Python2 vs Python3) zusammenhängen.
iteritems
zu items
. Ersteres gab Ihnen einen Iterator (und 3.x hat keine solche Methode); Letzteres gibt Ihnen eine Ansicht (die auf 2.7 als zurückportiert wurde viewitems
).
dict.iteritems -> dict.items
.