我正在尝试读取geojson文件并将记录插入到postgres表中 - 使用下面的python代码。
import json
import psycopg2
conn = psycopg2.connect(host="<<ip_address>>",database="DB1", user="<<id>>", password="pwd")
cur = conn.cursor()
with open('NTA_shape.json') as f:
Geojson_data = json.load(f)
for feature in Geojson_data['features']:
type_val=feature['geometry']['type']
geom=feature['geometry']['coordinates']
ntaname=feature['properties']['NTAName']
boroname=feature['properties']['BoroName']
data = {"type":type_val,"coordinates":geom}
sql ="""Insert into <<Table_NAME> (geom,ntaname,boroname) VALUES(ST_GeomFromGeoJSON(%s),%s,%s)"""
nta_boro=(json.dumps(data),ntaname,boroname)
cur.execute(sql,nta_boro)
conn.commit()
conn.close()
但是当我查询表时,很多记录都丢失了。 如果我打印json.dumps(data)变量 - 它显示所有记录。
我不确定,在插入表格时我缺少什么 请帮助。
答案 0 :(得分:0)
我能够解决以下变化
nta_boro=(json.dumps(data,),ntaname,boroname)