python - 在循环中读取 csv 在不匹配的行处停止
问题描述
我正在尝试读取 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
解决方案
如前所述,我对arcpy一无所知,但这似乎是开始的方式。查看文档,您的 objectsInEsri 似乎等同于示例中的数据集。从那里我推断出以下代码,根据 print(fc) 正在打印的内容,您可能需要扩展另一个 for。
所以试试这个:
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)))
那么我可能完全错了,但是然后先写outermore for,看看给你的是什么,然后从那里继续建设:)
推荐阅读
- excel - 如果不是语句在 Excel VBA 的循环中无法正常工作
- python - 安装模块python的真实位置
- c# - 如何将子视图添加到通用视图 Xamarin Froms
- mongodb - 想要加入两个集合,结果应该从两个集合中过滤
- api - 在 Instagram Basic Display API 上获取个人资料图片
- d3.js - D3折线图没有从CSV数据中绘制我的路径
- python - Openpyxl:遍历单个列中的特定行子集
- javascript - 为什么我的导航栏只有在缩小时才会向右溢出?
- azure - Azure:统一日志记录和端到端跟踪
- android - 如何从版本计算android版本代码?离子应用