Ich versuche NetworkX zu verwenden, um ein Shapefile zu lesen und die Funktion write_shp() zu verwenden, um die Shapefiles zu generieren, die das enthalten Knoten und Kanten (nach diesem Beispiel - https://networkx.github.io/documentation/latest/reference/readwrite.nx_shp.html), aber wenn ich versuche, den Code gibt es mir die folgende Fehlermeldung auszuführen:Fehler '' dict 'Objekt hat kein Attribut' iteritems '"beim Versuch, NetworkX's write_shp() zu verwenden
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 installierte NetworkX über pip installieren.
Vor diesem Fehler hatte es mir bereits einen anderen gegeben, der sagte "xrange does not exist" oder so ähnlich, also habe ich nachgeschaut und 'xrange' in 'range' in der Datei nx_shp.py geändert schien es zu lösen.
Von dem, was ich gelesen habe, könnte es mit der Python-Version (Python2 vs Python3) verwandt sein.
Python 3 umbenannt in 'dict.iteritems -> dict.items'. – Blender
oh wow, ich fühle mich so dumm jetzt, danke für die Antwort – friveraa
@Blender: Nein, es umbenannt 'iteritems' nicht zu' items'. Ersteres gab Ihnen einen Iterator (und 3.x hat keine solche Methode); Letzterer gibt Ihnen eine Ansicht (die als View Views auf 2,7 zurückversetzt wurde). – abarnert