要解决这个问题,可以在使用SearchCursor之前创建一个空的列表,然后使用循环将每一行添加到列表中。如果某一行无法添加到列表中,可以使用try-except语句处理异常。
下面是一个示例代码,展示了如何解决这个问题:
import arcpy
feature_class = "path_to_feature_class"
try:
# 创建一个空的列表
rows_list = []
# 使用SearchCursor获取要素类的所有行
with arcpy.da.SearchCursor(feature_class, "*") as cursor:
for row in cursor:
try:
# 将每一行添加到列表中
rows_list.append(row)
except Exception as e:
# 处理无法添加的行
print("无法添加行:", e)
# 打印所有成功添加到列表中的行
for row in rows_list:
print(row)
except Exception as e:
print("发生错误:", e)
在这个示例代码中,首先创建一个空的列表rows_list
,然后使用SearchCursor遍历要素类的每一行。在循环中,尝试将每一行添加到列表中,如果添加失败,则在except块中处理异常。最后,打印所有成功添加到列表中的行。
请注意,这只是一个示例代码,你需要根据自己的项目需求进行适当的修改。