py插入postgres数据库代码示例
def saveToPostgis(feats,remarks): # 连接数据库 conn = psycopg2.connect(database='postgis_21_sample', user='postgres', password='postgres', host='192.168.1.100', port='5432') curs = conn.cursor() # 编辑写入数据的sql # xy = [minx,miny,minx,maxy,maxx,maxy,maxx,miny,minx,miny] # geom = 'POLYGON(({} {},{} {},{} {},{} {},{} {}))'.format(*xy) # print(geom) delete_sql = 'delete from gridmanagement where \'remarks\'=\'%s\'' % remarks curs.execute(delete_sql) insert_sql = '' for feat in feats: geom = feat.geometry() wkt = geom.asWkt() id = feat.attribute('id') wgbh = feat.attribute('wgbh') insert_sql += 'insert into gridmanagement(NO,GEOM,remarks) values(\'%s\',ST_GeomFromText(\'%s\'),\'%s\');'%(wgbh,wkt,remarks) curs.execute(insert_sql) # #判断不存在再进行加入 # sqlSelect = 'select count(*) from geosel where no = \'%s\''%bianhao # curs.execute(sqlSelect) # # 获取结果集的每一行 # rows = curs.fetchall() # for r in rows: # for nCount in r: # if nCount==0: # curs.execute(insert_sql) # 提交数据 conn.commit() # 关闭数据库 curs.close()