如何在PyCharm中通过arcpy读取DBF格式文件?
ArcPy 读取独立DBF文件报错解决方案
两个报错的核心原因:
- 旧版
arcpy.SearchCursor对独立DBF的全路径识别存在兼容缺陷,10.x版本后官方已推荐改用arcpy.da模块下的游标接口 arcpy.mapping.TableView仅支持 ArcMap 文档上下文内的表格对象加载,无法在无ArcMap进程的独立Python环境下直接读取本地DBF文件
正确操作步骤
- 将DBF所在文件夹设置为arcpy工作空间,降低路径识别异常概率
- 调用
arcpy.Exists()先校验DBF文件可被arcpy正常识别 - 使用
arcpy.da.SearchCursor读取表格内容,不需要额外安装任何第三方模块
可直接运行的代码示例
# encoding=utf-8 import arcpy # 设置DBF所在文件夹为工作空间 arcpy.env.workspace = r"D:\\" dbf_name = "test.dbf" # 先校验文件可被arcpy识别 if arcpy.Exists(dbf_name): # 按需指定要读取的字段,用*代表读取全部字段 fields = ["*"] # 使用da模块的SearchCursor遍历内容 with arcpy.da.SearchCursor(dbf_name, fields) as cursor: for row in cursor: # 输出每一行内容,可替换为自身的GIS计算逻辑 print(row) else: print("DBF文件无法被arcpy识别,请检查路径、文件名是否包含中文或特殊字符")
注意事项
- 确保DBF文件的文件名、所在路径不要包含中文、空格或特殊符号,ArcPy 10.x对非ASCII路径的兼容性很差,极易触发IO错误
- 如果需要修改DBF内容,可对应替换为
arcpy.da.UpdateCursor或arcpy.da.InsertCursor使用
内容的提问来源于stack exchange,提问作者x y
相关产品推荐
相关产品推荐

