使用某个软件,遇到了下标问题,怀疑是字段属性的原因,准备修改shapefile属性表的第一列的字段。
在ArcMap中通过修改属性表的字段上下移动,只能临时修改,所以准备用Python读取属性表重新修改。
代码如下图所示:
def change_shp_column_orders():
gdf = gpd.read_file(r"E:\Result.shp")
print(gdf.columns)
# Index(['firm', 'poi', 'popu', 'urban', 'coord', 'pop_urban', 'pop_firm',
# 'pop_poi', 'urban_firm', 'urban_poi', 'firm_poi', 'new_id', 'geometry'],
# dtype='object')
# 在此处修改属性列表的顺序
new_col = ['new_id', 'geometry', 'firm', 'poi', 'popu', 'urban', 'coord', 'pop_urban', 'pop_firm', 'pop_poi', 'urban_firm', 'urban_poi', 'firm_poi']
gdf = gdf[new_col]
gdf.to_file("E:\\Result_new.shp")
所得结果确实是把字段"new_id"提前了,但是geometry字段依然是在最前面。
网友评论