Я пытаюсь использовать NetworkX для чтения шейп-файла и использования функции 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'
Я использую Python 3.4 и установил NetworkX через pip install.
До этой ошибки он уже дали мне еще один , который сказал «xrange не существует» или что - то подобное, так что я посмотрел его и просто поменял xrange
на range
в nx_shp.py файл, который , казалось, решить эту проблему.
Из того, что я прочитал, это может быть связано с версией Python (Python2 против Python3).
iteritems
в items
. Первый дал вам итератор (а в 3.x такого метода нет); последний дает вам представление (которое было перенесено в 2.7 как viewitems
).
dict.iteritems -> dict.items
.