我使用python模块https://gis.stackexchange.com/a/5943/16793导出SDE数据库中的要素类列表。在
import os, csv, arcpy, arcplus
>>> fcs = arcplus.listAllFeatureClasses("Database Connections\\Connection to oracle.sde\\BASINS.ACF")
输出是一个列表:
^{pr2}$为了将此列表传递给另一个函数,我为列表中的每个元素添加了一个字符串:
^{3}$看起来像:
print mylist[0]
Database Connections\Connection to oracle.sde\BASINS.ACF_FL_SUB
我想把这个列表传递给另一个函数arcpy.ListFields(数据集),它将返回每个要素类的字段:
fn = [f.name for f in arcpy.ListFields(mylist[0])]
>>> print fn
[u'OBJECTID', u'HUC', u'BASIN', u'NAME', u'ACRES', u'SHAPE', u'SHAPE.AREA', u'SHAPE.LEN']
我想知道如何将fcs中的列表传递给功能arcpy.ListFields并将结果写入csv文件,但所需的循环结构确实给我带来了麻烦。我在这方面是个新手,Python文档让我大开眼界。任何建议都会有帮助。在
Uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu乌尤
@Tony你的解决方案很有效。尽管我尝试在较大的geodatabase上使用listAllFeatureClasses,但是我没有足够的权限读取某些属性,这会导致IOError:Database Connections\Connection to甲骨文.sde\土地,土地\LAND_POINTS不存在。我正在研究如何处理这个问题,并继续讨论列表中的下一个要素类。也许试试/继续?在
打电话给arcpy.ListFields对于列表中的每个项目:
这将给您一个列表列表,其中fns[0]是entry mylist[0]的函数
更容易使用的是字典:
^{pr2}$使用示例中的数据:
^{3}$相关问题 更多 >
编程相关推荐