NetworkXを使用してShapefileを読み取り、関数write_shp()
を使用してノードとエッジを含むShapefileを生成しようとしていますが、コードを実行しようとすると、次のエラーが発生します。
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'
私はPython 3.4を使用しており、pip installでNetworkXをインストールしています。
このエラーが発生する前に、「xrangeは存在しない」などの別のエラーがすでに表示されていたため、それを調べて、nx_shp.pyファイルでに変更xrange
しrange
ただけで、解決したようです。
私が読んだことから、それはPythonバージョン(Python2 vs Python3)に関連している可能性があります。
iteritems
れませんでしたitems
。前者はイテレータを提供しました(そして3.xにはそのようなメソッドはありません)。後者はビューを提供します(これはとして2.7にバックポートされましたviewitems
)。
dict.iteritems -> dict.items
。