我有一个要编辑的 ESRI shapefile .shp
(包含所有相关文件.shx
,例如.dbf
等等) - 我需要删除第一条记录并保存文件。
为此,我安装pyshp
并尝试解析和编辑 shapefile。这是我尝试过的:
import shapefile
e = shapefile.Editor('location/of/my/shp')
e.shapes()
# example output
>>> [<shapefile._Shape instance at 0x7fc5e18d93f8>,
<shapefile._Shape instance at 0x7fc5e18d9440>,
<shapefile._Shape instance at 0x7fc5e18d9488>,
<shapefile._Shape instance at 0x7fc5e18d94d0>,
<shapefile._Shape instance at 0x7fc5e18d9518>]
从这里我想删除第一个条目<shapefile._Shape instance at 0x7fc5e18d93f8>
,然后保存文件:
e.delete(0) # I tried e.delete(shape=0) too
e.save()
但是,该记录在新保存的文件中仍然可用。
不幸的是,文档并没有深入讨论这些事情。
我怎样才能实现我的目标?保存文件前如何检查删除是否成功?