我正在尝试使用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)有关。

最佳答案

就像在python3中一样,使用dict.items()而不是dict.iteritems()iteritems()已在python3中删除,因此您无法再使用此方法。

看一下Python 3.0 Wiki Built-in Changes部分,其中指出:

09-11 13:26