我正在尝试读取csv,然后遍历sde来查找匹配的功能,其字段,然后打印它们。 列表中有一个表,我无法跳过它并继续阅读csv。 我得到“ IOError:表1不存在”,而我只得到表之前的功能。
import arcpy
from arcpy import env
import sys
import os
import csv
with open('C:/Users/user/Desktop/features_to_look_for.csv', 'r') as t1:
objectsinESRI = [r[0] for r in csv.reader(t1)]
env.workspace = "//conn/features@dev.sde"
fcs = arcpy.ListFeatureClasses('sometext.*')
for fcs in objectsinESRI:
fieldList = arcpy.ListFields(fcs)
for field in fieldList:
print fcs + " " + ("{0}".format(field.name))
示例csv行(似乎无法发布Excel文件的屏幕截图)
feature 1
feature 2
feature 3
feature 4
table 1
feature 5
feature 6
feature 7
feature 8
feature 9
结果
feature 1
feature 2
feature 3
feature 4
所需结果
feature 1
feature 2
feature 3
feature 4
feature 5
feature 6
feature 7
feature 8
feature 9
答案 0 :(得分:0)
因此,如上所述,我对arcpy毫无头绪,但这似乎是开始的方式。看the docs,您的objectsInEsri似乎与示例中的数据集等效。从那里我推断出以下代码,根据所打印的print(fc),您可能需要扩展其他代码。
所以尝试一下:
for object in objectsInEsri:
for fc in fcs:
print(fc)
或者也许是这样
for object in objectsInEsri:
for fc in fcs:
for field in arcpy.ListFields(fc)
print(object + " " + ("{0}".format(field.name)))
那我可能完全错了,但是先写外在的东西,看看能给你什么,然后从那里继续建造:)