# -- coding:utf-8 -- import geopandas as gpd import os from osgeo import ogr # shp 文件批量添加欄位 def addfeilds(filepath): for filename in os.listdir(filepa ...
# -- coding:utf-8 -- import geopandas as gpd import os from osgeo import ogr # shp 文件批量添加欄位 def addfeilds(filepath): for filename in os.listdir(filepath): print(filename) if filename.endswith(".shp"): try: driver = ogr.GetDriverByName('ESRI Shapefile') datasource = driver.Open(filepath + filename, 1) # 0只讀,1可寫 layer = datasource.GetLayer() layer.CreateField(ogr.FieldDefn('_id',ogr.OFTInteger)) layer.CreateField(ogr.FieldDefn('province_c',ogr.OFTInteger64)) layer.CreateField(ogr.FieldDefn('province_n',ogr.OFTString)) layer.CreateField(ogr.FieldDefn('city_code',ogr.OFTInteger64)) layer.CreateField(ogr.FieldDefn('city_name',ogr.OFTString)) layer.CreateField(ogr.FieldDefn('county_cod',ogr.OFTInteger64)) layer.CreateField(ogr.FieldDefn('county_nam',ogr.OFTString)) layer.CreateField(ogr.FieldDefn('Hazard_cla',ogr.OFTString)) layer.CreateField(ogr.FieldDefn('class',ogr.OFTInteger)) except Exception as ex: print('文件{0}添加欄位失敗,錯誤信息為:{1}'.format(filename, ex))