如何将大量的坐标(x,y)插入到postgresSQL表中?我不想使用for循环。这是一个3601x3601像素的光栅图。
import numpy as np
import psycopg2
# Data example:
east = np.linspace(-180.0,180.0,num=10)
north = np.linspace(-90.0,90.0,num=10)
coor = np.vstack([east, north])
conn = psycopg2.connect("dbname='postgres' user='dbuser' host='localhost' password='dbpass'")
cur = conn.cursor()
cur.execute("DROP TABLE IF EXISTS foobar;")
cur.execute("CREATE TABLE foobar (coordinate point);")
# Working for an coordinate example:
cur.execute("INSERT INTO foobar VALUES (('12.56,56.43'));")
# Working for 1st coordinate in coor:
tmp = ','.join(str(e) for e in coor[:,0])
cur.execute('INSERT INTO foobar VALUES (point(' + tmp + '));')
# NOT WORKING!!!
# Insert all points in one go:
# cur.execute('INSERT INTO foobar VALUES (coor);')
conn.commit()