python – 错误“’dict’对象没有属性’iteritems’当尝试使用NetworkX的write_shp()

我试图使用NetworkX读取Shapefile和使用函数write_shp()生成将包含节点和边缘(下面的例子 – https://networkx.github.io/documentation/latest/reference/readwrite.nx_shp.html)的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和安装NetworkX通过pip安装。

在这个错误之前,它已经给了我另一个说“xrange不存在”或类似的东西,所以我查了一下,只是改变了’xrange’到’范围’在nx_shp.py文件,这似乎解决了。

从我读过的它可能与Python版本(Python2对Python3)有关。

正如在python3中,使用dict.items()而不是dict.iteritems()

iteritems()在python3中被删除,所以你不能再使用这个方法了。

看看Python Wiki(Link)

在内置更改部分,它说

Removed dict.iteritems(), dict.iterkeys(), and dict.itervalues().

Instead: use dict.items(), dict.keys(), and dict.values()
respectively.

http://stackoverflow.com/questions/30418481/error-dict-object-has-no-attribute-iteritems-when-trying-to-use-networkx

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – 错误“’dict’对象没有属性’iteritems’当尝试使用NetworkX的write_shp()