szfdqy 2023-06-09 08:36 采纳率: 100%
浏览 15
已结题

帮我看下代码有咩有问题,我运行不成功,如何解决?(标签-arcgis|关键词-file)

我在arcgis中运行这段代码,总是提示line14有错误,修改多次未成功,想让你们帮看看问题出在哪


# 1. 导入 arcpy 和 os 模块
import arcpy
import os

# 2. 定义函数 check_shp_fields,参数为 workspace
def check_shp_fields(workspace):
    # 3. 设置 arcpy 的工作空间
    arcpy.env.workspace = workspace

    # 4. 获取 SHP 文件列表
    shp_files = arcpy.ListFeatureClasses()

    # 5. 检查 SHP 文件的字段
    for shp_file in shp_files:
        # 6. 获取 SHP 文件路径
        shp_path = os.path.join(workspace, shp_file)

        # 7. 获取 SHP 文件的字段信息
        fields = arcpy.ListFields(shp_path)

        # 8. 检查字段是否为空值或必填字段为空
        for field in fields:
            field_name = field.name
            is_required = field.required

            # 9. 使用 SearchCursor 遍历字段值
            with arcpy.da.SearchCursor(shp_path, [field_name]) as cursor:
                for row in cursor:
                    value = row[0]

                    # 10. 检查字段是否为空值
                    if value is None or value == "":
                        arcpy.AddWarning("Unqualified SHP file: {}\nField: {}\nReason: Field value is empty.".format(shp_file, field_name))
                        break

                    # 11. 检查字段是否为必填字段但值为空
                    if is_required and (value is None or value == ""):
                        arcpy.AddWarning("Unqualified SHP file: {}\nField: {}\nReason: Required field value is empty.".format(shp_file, field_name))
                        break

# 12. 从参数中获取工作空间
workspace = arcpy.GetParameterAsText(0)

# 13. 调用函数进行 SHP 文件字段检查
check_shp_fields(workspace)

  • 写回答

2条回答 默认 最新

  • 於黾 2023-06-09 08:48
    关注

    报错信息是什么,贴出来看
    多半是shp_files这个东西是个None

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题